Updated p4c output for fabric

Change-Id: I73858f2b4e9b151c9fae3063f5514c689e16b51e
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 bd6c791..74411ba 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/11/18 20:59:02",
+  "build_date": "02/14/18 22:06:59",
   "compiler_version": "6.0.0-alpha.4",
   "program_name": "main",
   "learn_quanta": [],
@@ -12,7 +12,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29,7 +29,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -46,7 +46,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -63,7 +63,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -80,7 +80,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -97,7 +97,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -114,7 +114,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -131,7 +131,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -148,7 +148,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -165,7 +165,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -179,295 +179,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -478,7 +193,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -495,7 +210,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -506,7 +221,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -523,7 +238,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -540,7 +255,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -557,7 +272,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -574,7 +289,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -591,7 +306,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -602,7 +317,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -613,7 +328,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -630,7 +345,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -647,7 +362,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -664,7 +379,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -681,7 +396,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -698,7 +413,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -715,7 +430,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -732,7 +447,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -743,7 +458,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -760,7 +475,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -771,7 +486,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -782,7 +497,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -793,7 +508,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -810,7 +525,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -827,7 +542,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -841,10 +573,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -855,7 +587,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -869,10 +601,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -883,7 +615,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -894,7 +626,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -908,28 +640,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -945,10 +660,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -962,7 +677,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -976,10 +708,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -993,10 +725,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1007,7 +739,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1021,43 +753,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -1069,8 +784,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1086,8 +801,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1103,8 +818,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1120,8 +835,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1137,11 +852,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -1154,8 +869,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1171,8 +886,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1188,8 +903,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1205,8 +920,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1222,8 +937,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1239,8 +954,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1256,11 +971,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -1273,7 +988,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1287,10 +1019,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1301,7 +1318,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1318,7 +1335,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1329,7 +1346,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -1346,7 +1363,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1363,7 +1380,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1374,7 +1391,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1385,7 +1402,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1396,7 +1413,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1407,7 +1424,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1418,7 +1435,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1435,7 +1452,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1452,7 +1469,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1469,7 +1486,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1486,7 +1503,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1497,7 +1514,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1508,7 +1525,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1525,7 +1542,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1536,7 +1553,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1547,7 +1564,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1558,7 +1575,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1569,7 +1586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1586,7 +1603,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1597,7 +1614,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1608,7 +1625,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1625,7 +1642,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1636,7 +1653,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1653,7 +1670,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1670,7 +1687,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1687,7 +1704,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3234,7 +3251,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3251,7 +3268,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3268,7 +3285,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3285,7 +3302,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3302,7 +3319,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3319,7 +3336,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3336,7 +3353,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -3353,7 +3370,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -3370,7 +3387,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3387,7 +3404,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3401,295 +3418,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3700,7 +3432,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3717,7 +3449,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3728,7 +3460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3745,7 +3477,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3762,7 +3494,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3779,7 +3511,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3796,7 +3528,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3813,7 +3545,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -3824,7 +3556,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3835,7 +3567,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3852,7 +3584,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3869,7 +3601,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3886,7 +3618,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3903,7 +3635,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3920,7 +3652,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3937,7 +3669,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3954,7 +3686,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3965,7 +3697,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3982,7 +3714,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3993,7 +3725,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4004,7 +3736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4015,7 +3747,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4032,7 +3764,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4049,7 +3781,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4063,10 +3812,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4077,7 +3826,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4091,10 +3840,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4105,7 +3854,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4116,7 +3865,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4130,28 +3879,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4167,10 +3899,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -4184,7 +3916,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4198,10 +3947,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4215,10 +3964,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4229,7 +3978,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4243,43 +3992,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -4291,8 +4023,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4308,8 +4040,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4325,8 +4057,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4342,8 +4074,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4359,11 +4091,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -4376,8 +4108,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4393,8 +4125,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4410,8 +4142,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4427,8 +4159,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4444,8 +4176,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4461,8 +4193,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4478,11 +4210,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -4495,7 +4227,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4509,10 +4258,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4523,7 +4557,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4540,7 +4574,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4551,7 +4585,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -4568,7 +4602,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4585,7 +4619,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4596,7 +4630,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4607,7 +4641,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4618,7 +4652,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4629,7 +4663,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4640,7 +4674,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4657,7 +4691,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4674,7 +4708,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4691,7 +4725,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4708,7 +4742,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4719,7 +4753,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4730,7 +4764,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4747,7 +4781,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4758,7 +4792,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4769,7 +4803,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4780,7 +4814,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4791,7 +4825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4808,7 +4842,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4819,7 +4853,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4830,7 +4864,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4847,7 +4881,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4858,7 +4892,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4875,7 +4909,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4892,7 +4926,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4909,7 +4943,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6456,7 +6490,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6473,7 +6507,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6490,7 +6524,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6507,7 +6541,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6524,7 +6558,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6541,7 +6575,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6558,7 +6592,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6575,7 +6609,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6592,7 +6626,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6609,7 +6643,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6623,295 +6657,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6922,7 +6671,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6939,7 +6688,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6950,7 +6699,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6967,7 +6716,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6984,7 +6733,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7001,7 +6750,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7018,7 +6767,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7035,7 +6784,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -7046,7 +6795,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7057,7 +6806,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7074,7 +6823,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7091,7 +6840,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7108,7 +6857,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7125,7 +6874,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7142,7 +6891,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7159,7 +6908,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7176,7 +6925,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7187,7 +6936,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7204,7 +6953,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7215,7 +6964,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7226,7 +6975,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7237,7 +6986,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7254,7 +7003,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7271,7 +7020,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7285,10 +7051,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7299,7 +7065,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7313,10 +7079,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7327,7 +7093,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7338,7 +7104,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7352,28 +7118,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7389,10 +7138,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -7406,7 +7155,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7420,10 +7186,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7437,10 +7203,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7451,7 +7217,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7465,43 +7231,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -7513,8 +7262,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7530,8 +7279,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7547,8 +7296,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7564,8 +7313,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7581,11 +7330,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -7598,8 +7347,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7615,8 +7364,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7632,8 +7381,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7649,8 +7398,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7666,8 +7415,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7683,8 +7432,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7700,11 +7449,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -7717,7 +7466,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7731,10 +7497,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7745,7 +7796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7762,7 +7813,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7773,7 +7824,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -7790,7 +7841,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7807,7 +7858,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7818,7 +7869,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7829,7 +7880,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7840,7 +7891,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7851,7 +7902,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7862,7 +7913,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7879,7 +7930,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7896,7 +7947,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7913,7 +7964,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7930,7 +7981,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7941,7 +7992,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7952,7 +8003,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7969,7 +8020,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7980,7 +8031,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7991,7 +8042,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8002,7 +8053,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8013,7 +8064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8030,7 +8081,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8041,7 +8092,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8052,7 +8103,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8069,7 +8120,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8080,7 +8131,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8097,7 +8148,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8114,7 +8165,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8131,7 +8182,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9678,7 +9729,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9695,7 +9746,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9712,7 +9763,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9729,7 +9780,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9746,7 +9797,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9763,7 +9814,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9780,7 +9831,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -9797,7 +9848,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -9814,7 +9865,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9831,7 +9882,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9845,295 +9896,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10144,7 +9910,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10161,7 +9927,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10172,7 +9938,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10189,7 +9955,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10206,7 +9972,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10223,7 +9989,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10240,7 +10006,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10257,7 +10023,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -10268,7 +10034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10279,7 +10045,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10296,7 +10062,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10313,7 +10079,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10330,7 +10096,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10347,7 +10113,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10364,7 +10130,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10381,7 +10147,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10398,7 +10164,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10409,7 +10175,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10426,7 +10192,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10437,7 +10203,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10448,7 +10214,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10459,7 +10225,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10476,7 +10242,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10493,7 +10259,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10507,10 +10290,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10521,7 +10304,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10535,10 +10318,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10549,7 +10332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10560,7 +10343,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10574,28 +10357,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10611,10 +10377,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -10628,7 +10394,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10642,10 +10425,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10659,10 +10442,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10673,7 +10456,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10687,43 +10470,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -10735,8 +10501,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10752,8 +10518,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10769,8 +10535,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10786,8 +10552,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10803,11 +10569,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -10820,8 +10586,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10837,8 +10603,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10854,8 +10620,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10871,8 +10637,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10888,8 +10654,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10905,8 +10671,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10922,11 +10688,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10939,7 +10705,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10953,10 +10736,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10967,7 +11035,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10984,7 +11052,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10995,7 +11063,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -11012,7 +11080,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11029,7 +11097,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11040,7 +11108,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11051,7 +11119,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11062,7 +11130,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11073,7 +11141,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11084,7 +11152,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11101,7 +11169,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11118,7 +11186,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11135,7 +11203,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11152,7 +11220,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11163,7 +11231,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11174,7 +11242,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11191,7 +11259,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11202,7 +11270,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11213,7 +11281,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11224,7 +11292,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11235,7 +11303,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11252,7 +11320,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11263,7 +11331,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11274,7 +11342,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11291,7 +11359,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11302,7 +11370,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11319,7 +11387,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11336,7 +11404,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11353,7 +11421,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12900,7 +12968,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12917,7 +12985,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12934,7 +13002,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12951,7 +13019,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12968,7 +13036,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12985,7 +13053,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13002,7 +13070,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -13019,7 +13087,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -13036,7 +13104,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13053,7 +13121,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13067,295 +13135,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13366,7 +13149,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13383,7 +13166,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13394,7 +13177,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13411,7 +13194,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13428,7 +13211,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13445,7 +13228,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13462,7 +13245,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13479,7 +13262,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -13490,7 +13273,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13501,7 +13284,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13518,7 +13301,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13535,7 +13318,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13552,7 +13335,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13569,7 +13352,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13586,7 +13369,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13603,7 +13386,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13620,7 +13403,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13631,7 +13414,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13648,7 +13431,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13659,7 +13442,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13670,7 +13453,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13681,7 +13464,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13698,7 +13481,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13715,7 +13498,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13729,10 +13529,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13743,7 +13543,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13757,10 +13557,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13771,7 +13571,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13782,7 +13582,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13796,28 +13596,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13833,10 +13616,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -13850,7 +13633,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13864,10 +13664,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13881,10 +13681,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13895,7 +13695,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13909,43 +13709,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -13957,8 +13740,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13974,8 +13757,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13991,8 +13774,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14008,8 +13791,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14025,11 +13808,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -14042,8 +13825,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14059,8 +13842,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14076,8 +13859,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14093,8 +13876,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14110,8 +13893,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14127,8 +13910,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14144,11 +13927,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -14161,7 +13944,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14175,10 +13975,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14189,7 +14274,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14206,7 +14291,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14217,7 +14302,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -14234,7 +14319,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14251,7 +14336,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14262,7 +14347,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14273,7 +14358,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14284,7 +14369,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14295,7 +14380,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14306,7 +14391,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14323,7 +14408,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14340,7 +14425,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14357,7 +14442,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14374,7 +14459,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14385,7 +14470,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14396,7 +14481,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14413,7 +14498,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14424,7 +14509,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14435,7 +14520,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14446,7 +14531,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14457,7 +14542,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14474,7 +14559,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14485,7 +14570,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14496,7 +14581,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14513,7 +14598,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14524,7 +14609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14541,7 +14626,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14558,7 +14643,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14575,7 +14660,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16122,7 +16207,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16139,7 +16224,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16156,7 +16241,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16173,7 +16258,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16190,7 +16275,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16207,7 +16292,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16224,7 +16309,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16241,7 +16326,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16258,7 +16343,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16275,7 +16360,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16289,295 +16374,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16588,7 +16388,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16605,7 +16405,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16616,7 +16416,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16633,7 +16433,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16650,7 +16450,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16667,7 +16467,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16684,7 +16484,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16701,7 +16501,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -16712,7 +16512,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16723,7 +16523,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16740,7 +16540,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16757,7 +16557,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16774,7 +16574,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16791,7 +16591,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16808,7 +16608,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16825,7 +16625,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16842,7 +16642,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16853,7 +16653,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16870,7 +16670,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16881,7 +16681,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16892,7 +16692,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16903,7 +16703,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16920,7 +16720,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16937,7 +16737,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16951,10 +16768,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16965,7 +16782,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16979,10 +16796,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16993,7 +16810,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17004,7 +16821,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17018,28 +16835,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17055,10 +16855,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -17072,7 +16872,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17086,10 +16903,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17103,10 +16920,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17117,7 +16934,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17131,43 +16948,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -17179,8 +16979,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17196,8 +16996,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17213,8 +17013,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17230,8 +17030,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17247,11 +17047,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -17264,8 +17064,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17281,8 +17081,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17298,8 +17098,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17315,8 +17115,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17332,8 +17132,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17349,8 +17149,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17366,11 +17166,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -17383,7 +17183,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17397,10 +17214,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17411,7 +17513,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17428,7 +17530,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17439,7 +17541,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -17456,7 +17558,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17473,7 +17575,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17484,7 +17586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17495,7 +17597,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17506,7 +17608,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17517,7 +17619,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17528,7 +17630,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17545,7 +17647,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17562,7 +17664,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17579,7 +17681,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17596,7 +17698,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17607,7 +17709,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17618,7 +17720,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17635,7 +17737,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17646,7 +17748,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17657,7 +17759,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17668,7 +17770,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17679,7 +17781,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17696,7 +17798,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17707,7 +17809,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17718,7 +17820,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17735,7 +17837,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17746,7 +17848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17763,7 +17865,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17780,7 +17882,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17797,7 +17899,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19344,7 +19446,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19361,7 +19463,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19378,7 +19480,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19395,7 +19497,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19412,7 +19514,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19429,7 +19531,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19446,7 +19548,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -19463,7 +19565,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -19480,7 +19582,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19497,7 +19599,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19511,295 +19613,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19810,7 +19627,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19827,7 +19644,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19838,7 +19655,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19855,7 +19672,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19872,7 +19689,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19889,7 +19706,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19906,7 +19723,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19923,7 +19740,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19934,7 +19751,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19945,7 +19762,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19962,7 +19779,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19979,7 +19796,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19996,7 +19813,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20013,7 +19830,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20030,7 +19847,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20047,7 +19864,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20064,7 +19881,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20075,7 +19892,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20092,7 +19909,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20103,7 +19920,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20114,7 +19931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20125,7 +19942,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20142,7 +19959,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20159,7 +19976,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20173,10 +20007,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20187,7 +20021,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20201,10 +20035,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20215,7 +20049,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20226,7 +20060,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20240,28 +20074,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20277,10 +20094,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -20294,7 +20111,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20308,10 +20142,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20325,10 +20159,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20339,7 +20173,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20353,43 +20187,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -20401,8 +20218,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20418,8 +20235,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20435,8 +20252,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20452,8 +20269,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20469,11 +20286,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -20486,8 +20303,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20503,8 +20320,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20520,8 +20337,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20537,8 +20354,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20554,8 +20371,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20571,8 +20388,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20588,11 +20405,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20605,7 +20422,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20619,10 +20453,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20633,7 +20752,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20650,7 +20769,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20661,7 +20780,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -20678,7 +20797,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20695,7 +20814,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20706,7 +20825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20717,7 +20836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20728,7 +20847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20739,7 +20858,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20750,7 +20869,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20767,7 +20886,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20784,7 +20903,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20801,7 +20920,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20818,7 +20937,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20829,7 +20948,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20840,7 +20959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20857,7 +20976,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20868,7 +20987,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20879,7 +20998,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20890,7 +21009,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20901,7 +21020,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20918,7 +21037,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20929,7 +21048,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20940,7 +21059,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20957,7 +21076,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20968,7 +21087,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20985,7 +21104,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21002,7 +21121,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21019,7 +21138,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22566,7 +22685,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22583,7 +22702,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22600,7 +22719,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22617,7 +22736,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22634,7 +22753,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22651,7 +22770,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22668,7 +22787,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22685,7 +22804,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22702,7 +22821,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22719,7 +22838,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22733,295 +22852,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23032,7 +22866,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23049,7 +22883,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23060,7 +22894,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23077,7 +22911,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23094,7 +22928,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23111,7 +22945,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23128,7 +22962,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23145,7 +22979,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -23156,7 +22990,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23167,7 +23001,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23184,7 +23018,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23201,7 +23035,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23218,7 +23052,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23235,7 +23069,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23252,7 +23086,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23269,7 +23103,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23286,7 +23120,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23297,7 +23131,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23314,7 +23148,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23325,7 +23159,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23336,7 +23170,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23347,7 +23181,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23364,7 +23198,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23381,7 +23215,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23395,10 +23246,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23409,7 +23260,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23423,10 +23274,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23437,7 +23288,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23448,7 +23299,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23462,28 +23313,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23499,10 +23333,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -23516,7 +23350,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23530,10 +23381,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23547,10 +23398,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23561,7 +23412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23575,43 +23426,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -23623,8 +23457,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23640,8 +23474,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23657,8 +23491,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23674,8 +23508,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23691,11 +23525,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -23708,8 +23542,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23725,8 +23559,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23742,8 +23576,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23759,8 +23593,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23776,8 +23610,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23793,8 +23627,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23810,11 +23644,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -23827,7 +23661,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23841,10 +23692,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23855,7 +23991,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23872,7 +24008,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23883,7 +24019,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -23900,7 +24036,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23917,7 +24053,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23928,7 +24064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23939,7 +24075,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23950,7 +24086,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23961,7 +24097,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23972,7 +24108,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23989,7 +24125,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24006,7 +24142,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24023,7 +24159,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24040,7 +24176,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24051,7 +24187,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24062,7 +24198,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24079,7 +24215,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24090,7 +24226,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24101,7 +24237,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24112,7 +24248,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24123,7 +24259,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24140,7 +24276,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24151,7 +24287,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24162,7 +24298,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24179,7 +24315,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24190,7 +24326,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24207,7 +24343,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24224,7 +24360,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24241,7 +24377,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25788,7 +25924,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25805,7 +25941,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25822,7 +25958,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25839,7 +25975,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25856,7 +25992,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25873,7 +26009,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25890,7 +26026,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -25907,7 +26043,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -25924,7 +26060,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25941,7 +26077,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25955,295 +26091,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26254,7 +26105,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26271,7 +26122,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26282,7 +26133,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26299,7 +26150,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26316,7 +26167,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26333,7 +26184,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26350,7 +26201,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26367,7 +26218,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -26378,7 +26229,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26389,7 +26240,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26406,7 +26257,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26423,7 +26274,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26440,7 +26291,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26457,7 +26308,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26474,7 +26325,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26491,7 +26342,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26508,7 +26359,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26519,7 +26370,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26536,7 +26387,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26547,7 +26398,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26558,7 +26409,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26569,7 +26420,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26586,7 +26437,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26603,7 +26454,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26617,10 +26485,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26631,7 +26499,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26645,10 +26513,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26659,7 +26527,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26670,7 +26538,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26684,28 +26552,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26721,10 +26572,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -26738,7 +26589,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26752,10 +26620,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26769,10 +26637,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26783,7 +26651,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26797,43 +26665,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -26845,8 +26696,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26862,8 +26713,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26879,8 +26730,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26896,8 +26747,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26913,11 +26764,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -26930,8 +26781,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26947,8 +26798,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26964,8 +26815,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26981,8 +26832,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26998,8 +26849,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -27015,8 +26866,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -27032,11 +26883,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -27049,7 +26900,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27063,10 +26931,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27077,7 +27230,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27094,7 +27247,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27105,7 +27258,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -27122,7 +27275,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27139,7 +27292,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27150,7 +27303,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27161,7 +27314,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27172,7 +27325,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27183,7 +27336,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27194,7 +27347,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27211,7 +27364,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27228,7 +27381,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27245,7 +27398,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27262,7 +27415,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27273,7 +27426,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27284,7 +27437,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27301,7 +27454,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27312,7 +27465,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27323,7 +27476,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27334,7 +27487,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27345,7 +27498,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27362,7 +27515,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27373,7 +27526,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27384,7 +27537,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27401,7 +27554,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27412,7 +27565,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27429,7 +27582,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27446,7 +27599,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27463,7 +27616,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29010,7 +29163,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29027,7 +29180,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29044,7 +29197,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29061,7 +29214,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29078,7 +29231,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29095,7 +29248,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29112,7 +29265,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -29129,7 +29282,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -29146,7 +29299,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29163,7 +29316,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29177,295 +29330,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29476,7 +29344,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29493,7 +29361,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29504,7 +29372,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29521,7 +29389,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29538,7 +29406,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29555,7 +29423,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29572,7 +29440,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29589,7 +29457,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -29600,7 +29468,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29611,7 +29479,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29628,7 +29496,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29645,7 +29513,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29662,7 +29530,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29679,7 +29547,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29696,7 +29564,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29713,7 +29581,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29730,7 +29598,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29741,7 +29609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29758,7 +29626,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29769,7 +29637,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29780,7 +29648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29791,7 +29659,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29808,7 +29676,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29825,7 +29693,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29839,10 +29724,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29853,7 +29738,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29867,10 +29752,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29881,7 +29766,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29892,7 +29777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29906,28 +29791,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29943,10 +29811,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -29960,7 +29828,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29974,10 +29859,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29991,10 +29876,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30005,7 +29890,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30019,43 +29904,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -30067,8 +29935,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30084,8 +29952,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30101,8 +29969,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30118,8 +29986,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30135,11 +30003,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -30152,8 +30020,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30169,8 +30037,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30186,8 +30054,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30203,8 +30071,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30220,8 +30088,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30237,8 +30105,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30254,11 +30122,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -30271,7 +30139,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30285,10 +30170,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30299,7 +30469,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30316,7 +30486,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30327,7 +30497,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -30344,7 +30514,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30361,7 +30531,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30372,7 +30542,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30383,7 +30553,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30394,7 +30564,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30405,7 +30575,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30416,7 +30586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30433,7 +30603,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30450,7 +30620,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30467,7 +30637,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30484,7 +30654,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30495,7 +30665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30506,7 +30676,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30523,7 +30693,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30534,7 +30704,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30545,7 +30715,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30556,7 +30726,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30567,7 +30737,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30584,7 +30754,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30595,7 +30765,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30606,7 +30776,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30623,7 +30793,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30634,7 +30804,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30651,7 +30821,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30668,7 +30838,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30685,7 +30855,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32232,7 +32402,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32249,7 +32419,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32266,7 +32436,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32283,7 +32453,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32300,7 +32470,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32317,7 +32487,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32334,7 +32504,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32351,7 +32521,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32368,7 +32538,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32385,7 +32555,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32399,295 +32569,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32698,7 +32583,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32715,7 +32600,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32726,7 +32611,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32743,7 +32628,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32760,7 +32645,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32777,7 +32662,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32794,7 +32679,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32811,7 +32696,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -32822,7 +32707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32833,7 +32718,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32850,7 +32735,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32867,7 +32752,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32884,7 +32769,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32901,7 +32786,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32918,7 +32803,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32935,7 +32820,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32952,7 +32837,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32963,7 +32848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32980,7 +32865,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32991,7 +32876,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33002,7 +32887,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33013,7 +32898,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33030,7 +32915,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33047,7 +32932,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33061,10 +32963,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33075,7 +32977,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33089,10 +32991,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33103,7 +33005,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33114,7 +33016,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33128,28 +33030,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33165,10 +33050,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -33182,7 +33067,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33196,10 +33098,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33213,10 +33115,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33227,7 +33129,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33241,43 +33143,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -33289,8 +33174,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33306,8 +33191,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33323,8 +33208,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33340,8 +33225,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33357,11 +33242,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -33374,8 +33259,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33391,8 +33276,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33408,8 +33293,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33425,8 +33310,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33442,8 +33327,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33459,8 +33344,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33476,11 +33361,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -33493,7 +33378,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33507,10 +33409,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33521,7 +33708,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33538,7 +33725,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33549,7 +33736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -33566,7 +33753,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33583,7 +33770,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33594,7 +33781,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33605,7 +33792,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33616,7 +33803,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33627,7 +33814,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33638,7 +33825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33655,7 +33842,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33672,7 +33859,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33689,7 +33876,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33706,7 +33893,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33717,7 +33904,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33728,7 +33915,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33745,7 +33932,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33756,7 +33943,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33767,7 +33954,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33778,7 +33965,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33789,7 +33976,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33806,7 +33993,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33817,7 +34004,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33828,7 +34015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33845,7 +34032,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33856,7 +34043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33873,7 +34060,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33890,7 +34077,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33907,7 +34094,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35454,7 +35641,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35471,7 +35658,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35488,7 +35675,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35505,7 +35692,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35522,7 +35709,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35539,7 +35726,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35556,7 +35743,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -35573,7 +35760,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -35590,7 +35777,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35607,7 +35794,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35621,295 +35808,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35920,7 +35822,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35937,7 +35839,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35948,7 +35850,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35965,7 +35867,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35982,7 +35884,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35999,7 +35901,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36016,7 +35918,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36033,7 +35935,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -36044,7 +35946,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36055,7 +35957,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36072,7 +35974,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36089,7 +35991,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36106,7 +36008,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36123,7 +36025,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36140,7 +36042,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36157,7 +36059,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36174,7 +36076,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36185,7 +36087,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36202,7 +36104,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36213,7 +36115,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36224,7 +36126,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36235,7 +36137,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36252,7 +36154,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36269,7 +36171,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36283,10 +36202,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36297,7 +36216,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36311,10 +36230,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36325,7 +36244,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36336,7 +36255,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36350,28 +36269,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36387,10 +36289,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -36404,7 +36306,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36418,10 +36337,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36435,10 +36354,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36449,7 +36368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36463,43 +36382,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -36511,8 +36413,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36528,8 +36430,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36545,8 +36447,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36562,8 +36464,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36579,11 +36481,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -36596,8 +36498,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36613,8 +36515,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36630,8 +36532,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36647,8 +36549,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36664,8 +36566,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36681,8 +36583,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36698,11 +36600,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36715,7 +36617,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36729,10 +36648,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36743,7 +36947,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36760,7 +36964,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36771,7 +36975,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -36788,7 +36992,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36805,7 +37009,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36816,7 +37020,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36827,7 +37031,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36838,7 +37042,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36849,7 +37053,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36860,7 +37064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36877,7 +37081,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36894,7 +37098,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36911,7 +37115,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36928,7 +37132,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36939,7 +37143,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36950,7 +37154,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36967,7 +37171,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36978,7 +37182,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36989,7 +37193,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37000,7 +37204,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37011,7 +37215,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37028,7 +37232,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37039,7 +37243,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37050,7 +37254,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37067,7 +37271,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37078,7 +37282,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37095,7 +37299,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37112,7 +37316,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37129,7 +37333,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39477,8 +39681,8 @@
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
-                { "type": "phv", "name": "H1" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H2" },
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -40619,12 +40823,12 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ipv4.total_len" },
-              "src": [ { "type": "phv", "name": "H12" } ]
+              "src": [ { "type": "phv", "name": "H13" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ipv4.identification" },
-              "src": [ { "type": "phv", "name": "H14" } ]
+              "src": [ { "type": "phv", "name": "H32" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -40649,39 +40853,39 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "udp.src_port" },
-              "src": [ { "type": "phv", "name": "H3" } ]
+              "src": [ { "type": "phv", "name": "H4" } ]
             },
             {
               "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" },
+              "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": "H9" },
-              "src": [ { "type": "phv", "name": "H8" } ]
+              "dest": { "type": "phv", "name": "H10" },
+              "src": [ { "type": "phv", "name": "H9" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "W12" },
+              "dest": { "type": "phv", "name": "H43" },
               "src": [
-                { "type": "phv", "name": "W12" },
-                { "type": "phv", "name": "W12" }
+                { "type": "phv", "name": "H43" },
+                { "type": "phv", "name": "H43" }
               ]
             }
           ]
@@ -44233,7 +44437,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -45989,10 +46193,10 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "W12" },
+              "dest": { "type": "phv", "name": "H43" },
               "src": [
                 { "type": "immediate", "name": "$data0" },
-                { "type": "phv", "name": "W12" }
+                { "type": "phv", "name": "H43" }
               ]
             }
           ]
@@ -46058,8 +46262,17 @@
                         "field_width": 2
                       },
                       {
+                        "field_name": "ig_intr_md.ingress_port",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 9
+                      },
+                      {
                         "field_name": "vlan_tag",
-                        "lsb_mem_word_offset": 4,
+                        "lsb_mem_word_offset": 20,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
                         "source": "spec",
@@ -46067,24 +46280,6 @@
                         "field_width": 1
                       },
                       {
-                        "field_name": "ig_intr_md.ingress_port",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "ig_intr_md.ingress_port",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
                         "field_name": "vlan_tag.vlan_id",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 0,
@@ -46413,13 +46608,13 @@
               "dest": { "type": "phv", "name": "vlan_tag.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
-              "src": [ { "type": "phv", "name": "H10" } ]
+              "src": [ { "type": "phv", "name": "H11" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -46436,7 +46631,7 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H2" },
+              "dest": { "type": "phv", "name": "H3" },
               "src": [ { "type": "immediate", "name": "$data0" } ]
             }
           ]
@@ -46471,7 +46666,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "immediate", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             }
           ]
@@ -46499,7 +46694,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
@@ -46675,8 +46870,13 @@
                       { "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": 1,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46684,15 +46884,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 7,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46700,17 +46896,10 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "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"
                       },
@@ -46756,10 +46945,12 @@
                       { "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": "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": 2,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -46769,15 +46960,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46789,18 +46980,10 @@
                         "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": 13, "field_name": "ethernet.dst_addr" },
-                      {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
                       }
@@ -46823,8 +47006,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": 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": 0,
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46832,33 +47027,18 @@
                         "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": 12,
+                        "field_bit": 14,
                         "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"
                       },
@@ -46899,24 +47079,18 @@
                       { "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": 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_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46924,17 +47098,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 11,
                         "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": 12,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -46980,8 +47154,20 @@
                       { "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": 4,
+                        "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"
                       },
                       {
@@ -46993,10 +47179,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"
                       },
@@ -47005,22 +47187,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "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"
@@ -47052,24 +47229,21 @@
                       { "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": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 7,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47077,12 +47251,9 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 15,
                         "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"
@@ -47115,12 +47286,16 @@
                       { "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": 1,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47128,7 +47303,7 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47139,12 +47314,14 @@
                         "field_bit": 12,
                         "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": 13,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47174,20 +47351,21 @@
                       { "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": 0,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 1,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47195,13 +47373,6 @@
                         "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"
                       },
@@ -47243,24 +47414,18 @@
                       { "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": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "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": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47272,15 +47437,21 @@
                         "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"
@@ -47322,36 +47493,27 @@
                       { "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": 6,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 10,
                         "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"
                       },
@@ -47386,15 +47548,41 @@
                       { "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"
                       },
@@ -47411,17 +47599,6 @@
                         "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"
                       },
@@ -47461,20 +47638,17 @@
                       { "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": 0,
-                        "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": 10, "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_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 4,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47482,6 +47656,18 @@
                         "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"
                       },
@@ -47489,12 +47675,6 @@
                         "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"
@@ -47532,26 +47712,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": 5,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "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"
                       },
@@ -47580,23 +47760,18 @@
                       { "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"
                       },
@@ -47609,11 +47784,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47621,13 +47796,6 @@
                         "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"
                       },
@@ -47668,12 +47836,19 @@
                       { "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": 1,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47681,22 +47856,21 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "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": 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"
@@ -47728,6 +47902,13 @@
                       { "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"
@@ -47737,20 +47918,10 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 12,
                         "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"
                       },
@@ -47794,20 +47965,28 @@
                       { "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": 4,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 10,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47815,14 +47994,6 @@
                         "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"
                       },
@@ -47870,32 +48041,34 @@
                       { "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": 10,
+                        "field_bit": 8,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47906,11 +48079,6 @@
                         "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"
@@ -47957,8 +48125,21 @@
                       { "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": 7,
+                        "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_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47966,19 +48147,9 @@
                         "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"
@@ -48025,16 +48196,19 @@
                       { "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": 0,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48042,13 +48216,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"
@@ -48086,24 +48260,22 @@
                       { "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": 0,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 1,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48111,14 +48283,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48163,8 +48334,12 @@
                       { "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": 2,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48176,6 +48351,10 @@
                         "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"
                       },
@@ -48184,15 +48363,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 3,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48235,36 +48412,31 @@
                       { "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_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": 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_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48272,15 +48444,17 @@
                         "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": 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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48318,6 +48492,15 @@
                       { "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"
@@ -48327,19 +48510,7 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "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_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48347,15 +48518,21 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "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": 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": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48411,6 +48588,18 @@
                       { "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"
@@ -48424,15 +48613,7 @@
                         "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_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48440,17 +48621,13 @@
                         "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": 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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48484,12 +48661,26 @@
                       { "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": 4,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "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_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48497,19 +48688,17 @@
                         "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_bit": 14,
                         "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"
@@ -48543,16 +48732,13 @@
                       { "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": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 4,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48560,24 +48746,18 @@
                         "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": 12,
+                        "field_bit": 11,
                         "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"
                       },
@@ -48616,6 +48796,12 @@
                       { "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"
@@ -48629,11 +48815,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48645,29 +48831,14 @@
                         "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": 13,
+                        "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": 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"
                       },
@@ -48707,12 +48878,19 @@
                       { "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": 3,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48720,21 +48898,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "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"
@@ -48758,32 +48932,35 @@
                       { "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": 0,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -49767,8 +49944,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": [
                 {
@@ -49923,12 +50100,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
+              { "memory_units": [ 6 ], "vpns": [ 0 ] },
+              { "memory_units": [ 7 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 55
+            "spare_bank_memory_unit": 7
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 0
         }
       ],
       "how_referenced": "direct",
@@ -50371,7 +50548,7 @@
                 "action_handle": 536870941,
                 "table_name": "tbl_act_20",
                 "next_table": 0,
-                "next_table_full": 114,
+                "next_table_full": 116,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -50381,7 +50558,7 @@
                 "action_handle": 536870940,
                 "table_name": "tbl_act_20",
                 "next_table": 0,
-                "next_table_full": 114,
+                "next_table_full": 116,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 66,
                 "immediate_fields": [
@@ -50395,7 +50572,7 @@
                 ]
               }
             ],
-            "result_physical_buses": [ 12, 14 ],
+            "result_physical_buses": [ 14 ],
             "pack_format": [
               {
                 "memory_word_width": 128,
@@ -50766,7 +50943,7 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
                 }
               }
             ]
@@ -50823,7 +51000,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -50879,221 +51056,45 @@
       "handle": 16777238,
       "name": "tbl_act_6",
       "table_type": "match",
-      "size": 512,
+      "size": 1,
+      "preferred_match_type": "exact",
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 7,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
+            "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,
             "pack_format": [
               {
                 "table_word_width": 0,
-                "memory_word_width": 47,
+                "memory_word_width": 0,
                 "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
-                      }
-                    ]
-                  }
-                ]
+                "number_memory_units_per_table_word": 0
               }
             ],
-            "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": 536870942,
-                  "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
-                    }
-                  ]
-                }
-              ]
-            }
+            "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": []
           }
         ],
-        "match_type": "ternary"
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false
       },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
       "actions": [
         {
           "name": "act_6",
@@ -51121,10 +51122,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "fabric_metadata.original_ether_type" },
-              "src": [
-                { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "W11" }
-              ]
+              "src": [ { "immediate": "2048" } ]
             }
           ]
         }
@@ -51135,7 +51133,13 @@
       "ap_bind_indirect_res_to_match": [],
       "is_resource_controllable": true,
       "uses_range": false,
-      "match_key_fields": []
+      "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",
@@ -51149,7 +51153,7 @@
             "stage_number": 7,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
+            "logical_table_id": 2,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -51213,11 +51217,11 @@
             ],
             "memory_resource_allocation": {
               "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 2
+              "memory_units_and_vpns": [ { "memory_units": [ 5 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 5
             },
             "default_next_table": 0,
-            "result_physical_buses": [ 4 ],
+            "result_physical_buses": [ 10 ],
             "ternary_indirection_stage_table": {
               "stage_number": 7,
               "stage_table_type": "ternary_indirection",
@@ -51304,8 +51308,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": [
                 {
@@ -51437,7 +51441,7 @@
           "stage_number": 7,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 3,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -51467,6 +51471,407 @@
     {
       "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,
       "name": "forwarding.acl",
       "table_type": "match",
       "size": 256,
@@ -51570,7 +51975,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
+                        "field_name": "ipv4.dst_addr",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
@@ -51624,7 +52029,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.original_ether_type",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -51633,7 +52038,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
+                        "field_name": "ipv4.dst_addr",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -51651,7 +52056,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.l4_dst_port",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -51660,7 +52065,7 @@
                         "field_width": 4
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.l4_dst_port",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -51687,7 +52092,7 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "fabric_metadata.original_ether_type",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -51705,7 +52110,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "ipv4.dst_addr",
+                        "field_name": "ethernet.src_addr",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -51732,16 +52137,25 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "ethernet.src_addr",
+                        "field_name": "fabric_metadata.l4_src_port",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
                         "start_bit": 0,
-                        "field_width": 16
+                        "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.l4_src_port",
+                        "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",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
@@ -51750,7 +52164,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.l4_src_port",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
@@ -51813,7 +52227,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.l4_src_port",
+                        "field_name": "fabric_metadata.original_ether_type",
                         "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
@@ -51952,7 +52366,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870948,
+                  "action_handle": 536870950,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -51962,7 +52376,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870945,
+                  "action_handle": 536870947,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -51980,7 +52394,7 @@
                 },
                 {
                   "action_name": "forwarding.duplicate_to_controller",
-                  "action_handle": 536870946,
+                  "action_handle": 536870948,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -51999,7 +52413,7 @@
                 },
                 {
                   "action_name": "forwarding.drop",
-                  "action_handle": 536870947,
+                  "action_handle": 536870949,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52019,7 +52433,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108872,
+          "handle": 67108873,
           "name": "forwarding.acl_counter"
         }
       ],
@@ -52027,7 +52441,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870948,
+          "handle": 536870950,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52046,7 +52460,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870945,
+          "handle": 536870947,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52078,7 +52492,7 @@
         },
         {
           "name": "forwarding.duplicate_to_controller",
-          "handle": 536870946,
+          "handle": 536870948,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52099,14 +52513,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "forwarding.drop",
-          "handle": 536870947,
+          "handle": 536870949,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52127,13 +52541,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870948,
+      "default_action_handle": 536870950,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -52276,7 +52690,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108872,
+      "handle": 67108873,
       "name": "forwarding.acl_counter",
       "table_type": "statistics",
       "size": 0,
@@ -52314,7 +52728,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777241,
+      "handle": 16777242,
       "name": "next.simple",
       "table_type": "match",
       "size": 3072,
@@ -52330,12 +52744,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108873,
+          "handle": 67108874,
           "name": "next.simple_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870953,
+      "default_action_handle": 536870955,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -54051,7 +54465,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870953,
+                "action_handle": 536870955,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 162,
@@ -54061,7 +54475,7 @@
               },
               {
                 "action_name": "next.output",
-                "action_handle": 536870949,
+                "action_handle": 536870951,
                 "table_name": "next_hashed",
                 "next_table": 1,
                 "next_table_full": 162,
@@ -54071,7 +54485,7 @@
               },
               {
                 "action_name": "next.set_vlan_output",
-                "action_handle": 536870950,
+                "action_handle": 536870952,
                 "table_name": "next_hashed",
                 "next_table": 2,
                 "next_table_full": 162,
@@ -54081,7 +54495,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870951,
+                "action_handle": 536870953,
                 "table_name": "next_hashed",
                 "next_table": 3,
                 "next_table_full": 162,
@@ -54091,7 +54505,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870952,
+                "action_handle": 536870954,
                 "table_name": "next_hashed",
                 "next_table": 4,
                 "next_table_full": 162,
@@ -54543,7 +54957,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870953,
+          "handle": 536870955,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54561,7 +54975,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870949,
+          "handle": 536870951,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54588,14 +55002,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870950,
+          "handle": 536870952,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54628,7 +55042,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             },
             {
@@ -54644,14 +55058,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870951,
+          "handle": 536870953,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54680,7 +55094,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -54707,7 +55121,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870952,
+          "handle": 536870954,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54742,7 +55156,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -54750,7 +55164,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -54799,7 +55213,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108873,
+      "handle": 67108874,
       "name": "next.simple_counter",
       "table_type": "statistics",
       "size": 0,
@@ -54870,7 +55284,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870953
+              "action_handle": 536870955
             },
             {
               "memory_word_width": 128,
@@ -54911,7 +55325,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870949
+              "action_handle": 536870951
             },
             {
               "memory_word_width": 128,
@@ -54970,7 +55384,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870950
+              "action_handle": 536870952
             },
             {
               "memory_word_width": 128,
@@ -55047,7 +55461,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870951
+              "action_handle": 536870953
             },
             {
               "memory_word_width": 128,
@@ -55124,7 +55538,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870952
+              "action_handle": 536870954
             }
           ],
           "memory_resource_allocation": {
@@ -55141,7 +55555,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870953,
+          "handle": 536870955,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55159,7 +55573,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870949,
+          "handle": 536870951,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55186,14 +55600,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870950,
+          "handle": 536870952,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55226,7 +55640,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             },
             {
@@ -55242,14 +55656,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870951,
+          "handle": 536870953,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55278,7 +55692,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -55305,7 +55719,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870952,
+          "handle": 536870954,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55340,7 +55754,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -55348,7 +55762,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -55398,7 +55812,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777242,
+      "handle": 16777243,
       "name": "tbl_act_7",
       "table_type": "match",
       "size": 1,
@@ -55425,7 +55839,7 @@
             "action_format": [
               {
                 "action_name": "act_7",
-                "action_handle": 536870954,
+                "action_handle": 536870956,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 162,
@@ -55443,7 +55857,7 @@
       "actions": [
         {
           "name": "act_7",
-          "handle": 536870954,
+          "handle": 536870956,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55471,7 +55885,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870954,
+      "default_action_handle": 536870956,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -55487,7 +55901,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777243,
+      "handle": 16777244,
       "name": "next.hashed",
       "table_type": "match",
       "size": 3072,
@@ -55509,14 +55923,14 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108874,
+          "handle": 67108875,
           "name": "next.hashed_counter"
         }
       ],
       "stateful_table_refs": [],
       "default_selector_mask": 0,
       "default_selector_value": 0,
-      "default_action_handle": 536870958,
+      "default_action_handle": 536870960,
       "action_profile": "next.ecmp_selector",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -55567,23 +55981,7 @@
                         "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": 24,
+                        "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -55591,15 +55989,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_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 0,
+                        "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"
                       }
                     ]
@@ -55621,22 +56031,6 @@
                         "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"
                       },
@@ -55645,15 +56039,27 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 30,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 1,
+                        "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"
                       }
                     ]
@@ -55679,35 +56085,35 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 2,
+                        "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"
                       }
                     ]
@@ -55737,34 +56143,10 @@
                         "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": 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"
                       },
@@ -55777,15 +56159,39 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 3,
+                        "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": 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"
                       }
                     ]
@@ -55807,27 +56213,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -55835,7 +56221,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 30,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -55843,7 +56229,27 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 2,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -55869,22 +56275,6 @@
                         "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": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "fabric_metadata.next_id"
                       },
@@ -55897,7 +56287,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 3,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -55919,23 +56325,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "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": 25,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -55951,15 +56341,31 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 6,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -55977,26 +56383,6 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
@@ -56013,7 +56399,27 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 31,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "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"
                       }
                     ]
@@ -56035,23 +56441,11 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56059,7 +56453,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 6,
+                        "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"
                       }
                     ]
@@ -56077,24 +56487,28 @@
                         "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": 29,
                         "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": 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"
                       }
                     ]
                   },
@@ -56123,27 +56537,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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": 23,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56151,7 +56545,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56167,7 +56561,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 0,
+                        "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"
                       }
                     ]
@@ -56197,23 +56607,7 @@
                         "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_bit": 28,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56221,11 +56615,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 1,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56243,27 +56649,15 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 25,
                         "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": 26,
+                        "field_bit": 28,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56271,15 +56665,27 @@
                         "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_bit": 0,
+                        "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"
                       }
                     ]
@@ -56301,18 +56707,6 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "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"
                       },
@@ -56321,19 +56715,31 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 31,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 3,
+                        "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"
                       }
                     ]
@@ -56355,22 +56761,6 @@
                         "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": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
@@ -56383,15 +56773,31 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 2,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 4,
+                        "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": 22,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56417,23 +56823,11 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 25,
                         "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": 28,
+                        "field_bit": 26,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56445,11 +56839,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 5,
+                        "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"
                       }
                     ]
@@ -56463,19 +56869,7 @@
                         "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": 26,
+                        "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56487,11 +56881,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 6,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56517,31 +56923,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 28,
                         "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_bit": 29,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56549,7 +56943,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 31,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 22,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56567,31 +56973,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "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": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56599,8 +56981,36 @@
                         "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": 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"
                       }
                     ]
                   },
@@ -56621,31 +57031,35 @@
                         "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": 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": 31,
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56671,31 +57085,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "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": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56703,7 +57093,15 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "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"
                       },
                       {
@@ -56711,7 +57109,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 0,
+                        "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"
                       }
                     ]
@@ -56737,15 +57147,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56753,15 +57155,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 1,
+                        "field_bit": 21,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56783,31 +57189,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 27,
                         "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": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
+                        "field_bit": 29,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56815,7 +57209,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 2,
+                        "field_bit": 0,
+                        "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"
                       }
                     ]
@@ -56837,31 +57243,31 @@
                         "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": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 3,
+                        "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": 16,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 19,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56887,11 +57293,31 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 19,
+                        "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": 2,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 18,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56901,9 +57327,23 @@
                       {
                         "field_bit": 21,
                         "field_name": "fabric_metadata.next_id"
+                      }
+                    ]
+                  },
+                  {
+                    "hash_bit": 25,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 24,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56919,17 +57359,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 25,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56941,7 +57371,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56949,31 +57379,7 @@
                         "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": 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": 5,
+                        "field_bit": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56995,14 +57401,6 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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"
                       },
@@ -57011,19 +57409,27 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 6,
+                        "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"
                       }
                     ]
@@ -57041,27 +57447,15 @@
                         "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": 26,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 27,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 28,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -57069,11 +57463,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 7,
+                        "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"
                       }
                     ]
@@ -57091,27 +57497,31 @@
                         "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": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 30,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 6,
+                        "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"
                       }
                     ]
@@ -57133,15 +57543,11 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
+                        "field_bit": 26,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -57149,15 +57555,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 19,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "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"
                       }
                     ]
@@ -57168,7 +57582,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870958,
+                "action_handle": 536870960,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57178,7 +57592,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870955,
+                "action_handle": 536870957,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57188,7 +57602,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870956,
+                "action_handle": 536870958,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57198,7 +57612,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v6",
-                "action_handle": 536870957,
+                "action_handle": 536870959,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57659,7 +58073,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870958,
+          "handle": 536870960,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -57677,7 +58091,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870955,
+          "handle": 536870957,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -57706,7 +58120,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -57733,7 +58147,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870956,
+          "handle": 536870958,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -57768,7 +58182,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -57776,7 +58190,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -57823,7 +58237,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870957,
+          "handle": 536870959,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -57858,7 +58272,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -57866,7 +58280,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -57980,7 +58394,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870958
+              "action_handle": 536870960
             },
             {
               "memory_word_width": 128,
@@ -58066,255 +58480,255 @@
                   ]
                 }
               ],
-              "action_handle": 536870955
-            },
-            {
-              "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": 536870956
-            },
-            {
-              "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": 536870957
+            },
+            {
+              "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": 536870958
+            },
+            {
+              "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": 536870959
             }
           ],
           "memory_resource_allocation": {
@@ -58327,7 +58741,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870958,
+          "handle": 536870960,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58345,7 +58759,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870955,
+          "handle": 536870957,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58374,7 +58788,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -58401,7 +58815,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870956,
+          "handle": 536870958,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58436,7 +58850,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -58444,7 +58858,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -58491,7 +58905,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870957,
+          "handle": 536870959,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58526,7 +58940,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -58534,7 +58948,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -58584,7 +58998,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108874,
+      "handle": 67108875,
       "name": "next.hashed_counter",
       "table_type": "statistics",
       "size": 0,
@@ -58623,7 +59037,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777244,
+      "handle": 16777245,
       "name": "tbl_act_10",
       "table_type": "match",
       "size": 1,
@@ -58646,11 +59060,11 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
                 "action_name": "act_10",
-                "action_handle": 536870959,
+                "action_handle": 536870961,
                 "table_name": "tbl_act_22",
                 "next_table": 0,
                 "next_table_full": 177,
@@ -58668,7 +59082,7 @@
       "actions": [
         {
           "name": "act_10",
-          "handle": 536870959,
+          "handle": 536870961,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58687,20 +59101,20 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ethernet.ether_type" },
-              "src": [ { "type": "phv", "name": "H11" } ]
+              "src": [ { "type": "phv", "name": "H12" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.$valid" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870959,
+      "default_action_handle": 536870961,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -58716,7 +59130,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777245,
+      "handle": 16777246,
       "name": "tbl_act_8",
       "table_type": "match",
       "size": 512,
@@ -58739,14 +59153,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "act_8",
-                "action_handle": 536870960,
-                "table_name": "--END_OF_PIPELINE--",
+                "action_handle": 536870962,
+                "table_name": "next_broadcast",
                 "next_table": 0,
-                "next_table_full": 255,
+                "next_table_full": 178,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -58761,7 +59175,7 @@
       "actions": [
         {
           "name": "act_8",
-          "handle": 536870960,
+          "handle": 536870962,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58779,7 +59193,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870960,
+      "default_action_handle": 536870962,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -58793,7 +59207,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 67108875,
+          "handle": 67108876,
           "name": "port_counters_control.egress_port_counter"
         }
       ],
@@ -58801,7 +59215,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108875,
+      "handle": 67108876,
       "name": "port_counters_control.egress_port_counter",
       "table_type": "statistics",
       "size": 511,
@@ -58822,12 +59236,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 78 ], "vpns": [ 0 ] },
-              { "memory_units": [ 79 ], "vpns": [ 1 ] }
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 79
+            "spare_bank_memory_unit": 55
           },
-          "stats_alu_index": 3
+          "stats_alu_index": 2
         }
       ],
       "how_referenced": "indirect",
@@ -58836,6 +59250,2466 @@
       "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": [
@@ -58872,12 +61746,12 @@
     {
       "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
       "name": "stage_1_match_input_xbar_din_power_ctl",
-      "value": "000000000000002000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000001000000010000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
@@ -58907,7 +61781,7 @@
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
       "name": "stage_6_match_input_xbar_din_power_ctl",
-      "value": "0000005000000028000000000000000000000000000000400000000000000000000000440000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000005000000000000000000000000000000000000000400000000000000000000000880000008000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[6].dp.xbar_hash.hash.parity_group_mask",
@@ -58917,7 +61791,7 @@
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "0000005000000000000000000000000000000040000000200000000000000000000000240000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000005000000000000000000000000000000040000000200000000000000000000000480000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -58927,7 +61801,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "000000d20000000c000000000000000000000024000000800000000000000000000000c4000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "000000d200000000000000000000000000000024000000800000000000000000000000880000008100000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[9].dp.match_input_xbar_din_power_ctl",
@@ -58942,17 +61816,17 @@
     {
       "fully_qualified_name": "mau[10].dp.match_input_xbar_din_power_ctl",
       "name": "stage_10_match_input_xbar_din_power_ctl",
-      "value": "0000001200000036000000000000000000000000000000800000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "000000120000000200000000000000000000000000000080000000000000000000000000000000010000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_10_parity_group_mask",
-      "value": "00000003000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000001000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[11].dp.match_input_xbar_din_power_ctl",
       "name": "stage_11_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000002000000000000000000000000000000400000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "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 8e9a4eb..cb3e8ff 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
@@ -220,6 +220,34 @@
 }
 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"
@@ -372,6 +400,28 @@
   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
@@ -563,6 +613,23 @@
 }
 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"
@@ -722,6 +789,17 @@
 }
 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"
@@ -753,6 +831,17 @@
   }
   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 f08f3d5..5b3179f 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/montara/context.json b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montara/context.json
index d6ed5b1..4c4b8e0 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montara/context.json
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montara/context.json
@@ -1,5 +1,5 @@
 {
-  "build_date": "02/11/18 20:59:18",
+  "build_date": "02/14/18 22:07:16",
   "compiler_version": "6.0.0-alpha.4",
   "program_name": "main",
   "learn_quanta": [],
@@ -12,7 +12,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29,7 +29,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -46,7 +46,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -63,7 +63,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -80,7 +80,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -97,7 +97,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -114,7 +114,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -131,7 +131,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -148,7 +148,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -165,7 +165,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -179,295 +179,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -478,7 +193,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -495,7 +210,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -506,7 +221,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -523,7 +238,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -540,7 +255,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -557,7 +272,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -574,7 +289,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -591,7 +306,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -602,7 +317,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -613,7 +328,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -630,7 +345,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -647,7 +362,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -664,7 +379,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -681,7 +396,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -698,7 +413,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -715,7 +430,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -732,7 +447,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -743,7 +458,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -760,7 +475,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -771,7 +486,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -782,7 +497,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -793,7 +508,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -810,7 +525,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -827,7 +542,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -841,10 +573,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -855,7 +587,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -869,10 +601,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -883,7 +615,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -894,7 +626,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -908,28 +640,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -945,10 +660,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -962,7 +677,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -976,10 +708,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -993,10 +725,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1007,7 +739,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1021,43 +753,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -1069,8 +784,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1086,8 +801,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1103,8 +818,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1120,8 +835,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1137,11 +852,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -1154,8 +869,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1171,8 +886,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1188,8 +903,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1205,8 +920,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1222,8 +937,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1239,8 +954,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -1256,11 +971,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -1273,7 +988,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1287,10 +1019,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1301,7 +1318,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1318,7 +1335,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1329,7 +1346,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -1346,7 +1363,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1363,7 +1380,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1374,7 +1391,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1385,7 +1402,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1396,7 +1413,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1407,7 +1424,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1418,7 +1435,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1435,7 +1452,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1452,7 +1469,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1469,7 +1486,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1486,7 +1503,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1497,7 +1514,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1508,7 +1525,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1525,7 +1542,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1536,7 +1553,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1547,7 +1564,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1558,7 +1575,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1569,7 +1586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1586,7 +1603,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1597,7 +1614,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1608,7 +1625,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1625,7 +1642,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1636,7 +1653,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1653,7 +1670,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1670,7 +1687,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1687,7 +1704,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3234,7 +3251,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3251,7 +3268,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3268,7 +3285,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3285,7 +3302,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3302,7 +3319,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3319,7 +3336,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3336,7 +3353,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -3353,7 +3370,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -3370,7 +3387,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3387,7 +3404,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3401,295 +3418,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3700,7 +3432,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3717,7 +3449,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3728,7 +3460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3745,7 +3477,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3762,7 +3494,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3779,7 +3511,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3796,7 +3528,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3813,7 +3545,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -3824,7 +3556,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3835,7 +3567,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3852,7 +3584,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3869,7 +3601,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3886,7 +3618,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3903,7 +3635,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3920,7 +3652,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3937,7 +3669,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3954,7 +3686,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3965,7 +3697,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3982,7 +3714,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3993,7 +3725,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4004,7 +3736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4015,7 +3747,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4032,7 +3764,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4049,7 +3781,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4063,10 +3812,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4077,7 +3826,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4091,10 +3840,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4105,7 +3854,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4116,7 +3865,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4130,28 +3879,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4167,10 +3899,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -4184,7 +3916,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4198,10 +3947,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4215,10 +3964,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4229,7 +3978,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4243,43 +3992,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -4291,8 +4023,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4308,8 +4040,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4325,8 +4057,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4342,8 +4074,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4359,11 +4091,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -4376,8 +4108,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4393,8 +4125,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4410,8 +4142,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4427,8 +4159,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4444,8 +4176,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4461,8 +4193,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4478,11 +4210,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -4495,7 +4227,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4509,10 +4258,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4523,7 +4557,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4540,7 +4574,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4551,7 +4585,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -4568,7 +4602,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4585,7 +4619,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4596,7 +4630,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4607,7 +4641,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4618,7 +4652,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4629,7 +4663,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4640,7 +4674,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4657,7 +4691,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4674,7 +4708,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4691,7 +4725,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4708,7 +4742,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4719,7 +4753,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4730,7 +4764,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4747,7 +4781,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4758,7 +4792,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4769,7 +4803,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4780,7 +4814,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4791,7 +4825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4808,7 +4842,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4819,7 +4853,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4830,7 +4864,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4847,7 +4881,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4858,7 +4892,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4875,7 +4909,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4892,7 +4926,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4909,7 +4943,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6456,7 +6490,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6473,7 +6507,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6490,7 +6524,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6507,7 +6541,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6524,7 +6558,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6541,7 +6575,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6558,7 +6592,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6575,7 +6609,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6592,7 +6626,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6609,7 +6643,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6623,295 +6657,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6922,7 +6671,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6939,7 +6688,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6950,7 +6699,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6967,7 +6716,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6984,7 +6733,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7001,7 +6750,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7018,7 +6767,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7035,7 +6784,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -7046,7 +6795,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7057,7 +6806,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7074,7 +6823,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7091,7 +6840,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7108,7 +6857,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7125,7 +6874,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7142,7 +6891,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7159,7 +6908,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7176,7 +6925,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7187,7 +6936,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7204,7 +6953,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7215,7 +6964,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7226,7 +6975,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7237,7 +6986,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7254,7 +7003,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7271,7 +7020,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7285,10 +7051,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7299,7 +7065,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7313,10 +7079,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7327,7 +7093,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7338,7 +7104,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7352,28 +7118,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7389,10 +7138,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -7406,7 +7155,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7420,10 +7186,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7437,10 +7203,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7451,7 +7217,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7465,43 +7231,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -7513,8 +7262,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7530,8 +7279,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7547,8 +7296,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7564,8 +7313,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7581,11 +7330,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -7598,8 +7347,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7615,8 +7364,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7632,8 +7381,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7649,8 +7398,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7666,8 +7415,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7683,8 +7432,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7700,11 +7449,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -7717,7 +7466,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7731,10 +7497,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7745,7 +7796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7762,7 +7813,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7773,7 +7824,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -7790,7 +7841,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7807,7 +7858,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7818,7 +7869,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7829,7 +7880,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7840,7 +7891,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7851,7 +7902,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7862,7 +7913,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7879,7 +7930,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7896,7 +7947,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7913,7 +7964,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7930,7 +7981,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7941,7 +7992,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7952,7 +8003,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7969,7 +8020,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7980,7 +8031,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7991,7 +8042,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8002,7 +8053,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8013,7 +8064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8030,7 +8081,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8041,7 +8092,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8052,7 +8103,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8069,7 +8120,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8080,7 +8131,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8097,7 +8148,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8114,7 +8165,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8131,7 +8182,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9678,7 +9729,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9695,7 +9746,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9712,7 +9763,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9729,7 +9780,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9746,7 +9797,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9763,7 +9814,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9780,7 +9831,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -9797,7 +9848,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -9814,7 +9865,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9831,7 +9882,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9845,295 +9896,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10144,7 +9910,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10161,7 +9927,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10172,7 +9938,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10189,7 +9955,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10206,7 +9972,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10223,7 +9989,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10240,7 +10006,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10257,7 +10023,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -10268,7 +10034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10279,7 +10045,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10296,7 +10062,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10313,7 +10079,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10330,7 +10096,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10347,7 +10113,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10364,7 +10130,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10381,7 +10147,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10398,7 +10164,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10409,7 +10175,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10426,7 +10192,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10437,7 +10203,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10448,7 +10214,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10459,7 +10225,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10476,7 +10242,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10493,7 +10259,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10507,10 +10290,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10521,7 +10304,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10535,10 +10318,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10549,7 +10332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10560,7 +10343,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10574,28 +10357,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10611,10 +10377,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -10628,7 +10394,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10642,10 +10425,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10659,10 +10442,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10673,7 +10456,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10687,43 +10470,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -10735,8 +10501,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10752,8 +10518,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10769,8 +10535,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10786,8 +10552,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10803,11 +10569,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -10820,8 +10586,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10837,8 +10603,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10854,8 +10620,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10871,8 +10637,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10888,8 +10654,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10905,8 +10671,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10922,11 +10688,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10939,7 +10705,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10953,10 +10736,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10967,7 +11035,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10984,7 +11052,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10995,7 +11063,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -11012,7 +11080,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11029,7 +11097,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11040,7 +11108,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11051,7 +11119,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11062,7 +11130,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11073,7 +11141,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11084,7 +11152,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11101,7 +11169,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11118,7 +11186,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11135,7 +11203,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11152,7 +11220,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11163,7 +11231,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11174,7 +11242,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11191,7 +11259,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11202,7 +11270,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11213,7 +11281,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11224,7 +11292,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11235,7 +11303,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11252,7 +11320,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11263,7 +11331,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11274,7 +11342,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11291,7 +11359,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11302,7 +11370,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11319,7 +11387,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11336,7 +11404,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11353,7 +11421,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12900,7 +12968,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12917,7 +12985,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12934,7 +13002,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12951,7 +13019,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12968,7 +13036,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12985,7 +13053,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13002,7 +13070,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -13019,7 +13087,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -13036,7 +13104,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13053,7 +13121,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13067,295 +13135,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13366,7 +13149,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13383,7 +13166,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13394,7 +13177,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13411,7 +13194,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13428,7 +13211,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13445,7 +13228,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13462,7 +13245,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13479,7 +13262,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -13490,7 +13273,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13501,7 +13284,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13518,7 +13301,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13535,7 +13318,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13552,7 +13335,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13569,7 +13352,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13586,7 +13369,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13603,7 +13386,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13620,7 +13403,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13631,7 +13414,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13648,7 +13431,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13659,7 +13442,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13670,7 +13453,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13681,7 +13464,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13698,7 +13481,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13715,7 +13498,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13729,10 +13529,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13743,7 +13543,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13757,10 +13557,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13771,7 +13571,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13782,7 +13582,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13796,28 +13596,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13833,10 +13616,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -13850,7 +13633,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13864,10 +13664,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13881,10 +13681,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13895,7 +13695,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13909,43 +13709,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -13957,8 +13740,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13974,8 +13757,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13991,8 +13774,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14008,8 +13791,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14025,11 +13808,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -14042,8 +13825,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14059,8 +13842,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14076,8 +13859,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14093,8 +13876,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14110,8 +13893,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14127,8 +13910,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -14144,11 +13927,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -14161,7 +13944,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14175,10 +13975,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14189,7 +14274,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14206,7 +14291,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14217,7 +14302,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -14234,7 +14319,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14251,7 +14336,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14262,7 +14347,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14273,7 +14358,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14284,7 +14369,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14295,7 +14380,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14306,7 +14391,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14323,7 +14408,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14340,7 +14425,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14357,7 +14442,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14374,7 +14459,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14385,7 +14470,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14396,7 +14481,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14413,7 +14498,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14424,7 +14509,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14435,7 +14520,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14446,7 +14531,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14457,7 +14542,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14474,7 +14559,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14485,7 +14570,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14496,7 +14581,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14513,7 +14598,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14524,7 +14609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14541,7 +14626,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14558,7 +14643,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14575,7 +14660,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16122,7 +16207,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16139,7 +16224,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16156,7 +16241,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16173,7 +16258,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16190,7 +16275,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16207,7 +16292,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16224,7 +16309,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16241,7 +16326,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16258,7 +16343,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16275,7 +16360,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16289,295 +16374,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16588,7 +16388,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16605,7 +16405,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16616,7 +16416,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16633,7 +16433,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16650,7 +16450,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16667,7 +16467,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16684,7 +16484,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16701,7 +16501,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -16712,7 +16512,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16723,7 +16523,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16740,7 +16540,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16757,7 +16557,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16774,7 +16574,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16791,7 +16591,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16808,7 +16608,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16825,7 +16625,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16842,7 +16642,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16853,7 +16653,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16870,7 +16670,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16881,7 +16681,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16892,7 +16692,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16903,7 +16703,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16920,7 +16720,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16937,7 +16737,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16951,10 +16768,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16965,7 +16782,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16979,10 +16796,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16993,7 +16810,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17004,7 +16821,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17018,28 +16835,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17055,10 +16855,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -17072,7 +16872,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17086,10 +16903,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17103,10 +16920,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17117,7 +16934,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17131,43 +16948,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -17179,8 +16979,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17196,8 +16996,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17213,8 +17013,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17230,8 +17030,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17247,11 +17047,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -17264,8 +17064,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17281,8 +17081,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17298,8 +17098,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17315,8 +17115,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17332,8 +17132,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17349,8 +17149,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17366,11 +17166,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -17383,7 +17183,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17397,10 +17214,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17411,7 +17513,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17428,7 +17530,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17439,7 +17541,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -17456,7 +17558,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17473,7 +17575,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17484,7 +17586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17495,7 +17597,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17506,7 +17608,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17517,7 +17619,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17528,7 +17630,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17545,7 +17647,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17562,7 +17664,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17579,7 +17681,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17596,7 +17698,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17607,7 +17709,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17618,7 +17720,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17635,7 +17737,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17646,7 +17748,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17657,7 +17759,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17668,7 +17770,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17679,7 +17781,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17696,7 +17798,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17707,7 +17809,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17718,7 +17820,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17735,7 +17837,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17746,7 +17848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17763,7 +17865,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17780,7 +17882,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17797,7 +17899,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19344,7 +19446,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19361,7 +19463,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19378,7 +19480,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19395,7 +19497,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19412,7 +19514,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19429,7 +19531,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19446,7 +19548,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -19463,7 +19565,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -19480,7 +19582,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19497,7 +19599,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19511,295 +19613,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19810,7 +19627,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19827,7 +19644,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19838,7 +19655,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19855,7 +19672,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19872,7 +19689,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19889,7 +19706,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19906,7 +19723,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19923,7 +19740,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19934,7 +19751,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19945,7 +19762,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19962,7 +19779,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19979,7 +19796,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19996,7 +19813,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20013,7 +19830,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20030,7 +19847,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20047,7 +19864,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20064,7 +19881,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20075,7 +19892,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20092,7 +19909,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20103,7 +19920,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20114,7 +19931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20125,7 +19942,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20142,7 +19959,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20159,7 +19976,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20173,10 +20007,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20187,7 +20021,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20201,10 +20035,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20215,7 +20049,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20226,7 +20060,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20240,28 +20074,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20277,10 +20094,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -20294,7 +20111,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20308,10 +20142,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20325,10 +20159,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20339,7 +20173,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20353,43 +20187,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -20401,8 +20218,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20418,8 +20235,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20435,8 +20252,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20452,8 +20269,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20469,11 +20286,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -20486,8 +20303,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20503,8 +20320,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20520,8 +20337,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20537,8 +20354,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20554,8 +20371,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20571,8 +20388,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20588,11 +20405,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20605,7 +20422,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20619,10 +20453,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20633,7 +20752,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20650,7 +20769,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20661,7 +20780,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -20678,7 +20797,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20695,7 +20814,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20706,7 +20825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20717,7 +20836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20728,7 +20847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20739,7 +20858,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20750,7 +20869,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20767,7 +20886,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20784,7 +20903,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20801,7 +20920,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20818,7 +20937,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20829,7 +20948,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20840,7 +20959,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20857,7 +20976,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20868,7 +20987,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20879,7 +20998,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20890,7 +21009,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20901,7 +21020,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20918,7 +21037,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20929,7 +21048,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20940,7 +21059,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20957,7 +21076,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20968,7 +21087,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20985,7 +21104,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21002,7 +21121,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21019,7 +21138,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22566,7 +22685,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22583,7 +22702,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22600,7 +22719,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22617,7 +22736,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22634,7 +22753,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22651,7 +22770,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22668,7 +22787,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22685,7 +22804,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22702,7 +22821,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22719,7 +22838,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22733,295 +22852,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23032,7 +22866,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23049,7 +22883,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23060,7 +22894,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23077,7 +22911,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23094,7 +22928,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23111,7 +22945,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23128,7 +22962,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23145,7 +22979,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -23156,7 +22990,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23167,7 +23001,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23184,7 +23018,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23201,7 +23035,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23218,7 +23052,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23235,7 +23069,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23252,7 +23086,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23269,7 +23103,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23286,7 +23120,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23297,7 +23131,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23314,7 +23148,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23325,7 +23159,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23336,7 +23170,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23347,7 +23181,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23364,7 +23198,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23381,7 +23215,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23395,10 +23246,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23409,7 +23260,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23423,10 +23274,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23437,7 +23288,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23448,7 +23299,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23462,28 +23313,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23499,10 +23333,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -23516,7 +23350,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23530,10 +23381,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23547,10 +23398,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23561,7 +23412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23575,43 +23426,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -23623,8 +23457,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23640,8 +23474,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23657,8 +23491,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23674,8 +23508,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23691,11 +23525,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -23708,8 +23542,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23725,8 +23559,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23742,8 +23576,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23759,8 +23593,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23776,8 +23610,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23793,8 +23627,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23810,11 +23644,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -23827,7 +23661,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23841,10 +23692,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23855,7 +23991,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23872,7 +24008,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23883,7 +24019,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -23900,7 +24036,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23917,7 +24053,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23928,7 +24064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23939,7 +24075,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23950,7 +24086,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23961,7 +24097,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23972,7 +24108,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23989,7 +24125,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24006,7 +24142,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24023,7 +24159,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24040,7 +24176,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24051,7 +24187,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24062,7 +24198,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24079,7 +24215,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24090,7 +24226,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24101,7 +24237,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24112,7 +24248,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24123,7 +24259,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24140,7 +24276,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24151,7 +24287,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24162,7 +24298,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24179,7 +24315,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24190,7 +24326,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24207,7 +24343,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24224,7 +24360,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24241,7 +24377,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25788,7 +25924,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25805,7 +25941,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25822,7 +25958,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25839,7 +25975,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25856,7 +25992,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25873,7 +26009,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25890,7 +26026,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -25907,7 +26043,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -25924,7 +26060,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25941,7 +26077,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25955,295 +26091,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26254,7 +26105,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26271,7 +26122,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26282,7 +26133,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26299,7 +26150,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26316,7 +26167,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26333,7 +26184,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26350,7 +26201,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26367,7 +26218,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -26378,7 +26229,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26389,7 +26240,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26406,7 +26257,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26423,7 +26274,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26440,7 +26291,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26457,7 +26308,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26474,7 +26325,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26491,7 +26342,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26508,7 +26359,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26519,7 +26370,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26536,7 +26387,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26547,7 +26398,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26558,7 +26409,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26569,7 +26420,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26586,7 +26437,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26603,7 +26454,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26617,10 +26485,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26631,7 +26499,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26645,10 +26513,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26659,7 +26527,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26670,7 +26538,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26684,28 +26552,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26721,10 +26572,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -26738,7 +26589,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26752,10 +26620,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26769,10 +26637,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26783,7 +26651,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26797,43 +26665,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -26845,8 +26696,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26862,8 +26713,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26879,8 +26730,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26896,8 +26747,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26913,11 +26764,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -26930,8 +26781,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26947,8 +26798,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26964,8 +26815,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26981,8 +26832,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26998,8 +26849,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -27015,8 +26866,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -27032,11 +26883,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -27049,7 +26900,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27063,10 +26931,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27077,7 +27230,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27094,7 +27247,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27105,7 +27258,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -27122,7 +27275,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27139,7 +27292,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27150,7 +27303,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27161,7 +27314,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27172,7 +27325,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27183,7 +27336,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27194,7 +27347,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27211,7 +27364,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27228,7 +27381,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27245,7 +27398,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27262,7 +27415,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27273,7 +27426,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27284,7 +27437,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27301,7 +27454,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27312,7 +27465,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27323,7 +27476,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27334,7 +27487,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27345,7 +27498,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27362,7 +27515,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27373,7 +27526,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27384,7 +27537,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27401,7 +27554,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27412,7 +27565,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27429,7 +27582,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27446,7 +27599,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27463,7 +27616,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29010,7 +29163,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29027,7 +29180,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29044,7 +29197,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29061,7 +29214,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29078,7 +29231,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29095,7 +29248,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29112,7 +29265,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -29129,7 +29282,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -29146,7 +29299,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29163,7 +29316,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29177,295 +29330,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29476,7 +29344,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29493,7 +29361,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29504,7 +29372,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29521,7 +29389,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29538,7 +29406,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29555,7 +29423,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29572,7 +29440,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29589,7 +29457,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -29600,7 +29468,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29611,7 +29479,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29628,7 +29496,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29645,7 +29513,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29662,7 +29530,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29679,7 +29547,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29696,7 +29564,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29713,7 +29581,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29730,7 +29598,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29741,7 +29609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29758,7 +29626,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29769,7 +29637,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29780,7 +29648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29791,7 +29659,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29808,7 +29676,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29825,7 +29693,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29839,10 +29724,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29853,7 +29738,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29867,10 +29752,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29881,7 +29766,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29892,7 +29777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29906,28 +29791,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29943,10 +29811,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -29960,7 +29828,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29974,10 +29859,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29991,10 +29876,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30005,7 +29890,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30019,43 +29904,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -30067,8 +29935,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30084,8 +29952,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30101,8 +29969,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30118,8 +29986,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30135,11 +30003,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -30152,8 +30020,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30169,8 +30037,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30186,8 +30054,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30203,8 +30071,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30220,8 +30088,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30237,8 +30105,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30254,11 +30122,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -30271,7 +30139,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30285,10 +30170,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30299,7 +30469,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30316,7 +30486,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30327,7 +30497,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -30344,7 +30514,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30361,7 +30531,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30372,7 +30542,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30383,7 +30553,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30394,7 +30564,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30405,7 +30575,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30416,7 +30586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30433,7 +30603,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30450,7 +30620,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30467,7 +30637,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30484,7 +30654,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30495,7 +30665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30506,7 +30676,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30523,7 +30693,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30534,7 +30704,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30545,7 +30715,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30556,7 +30726,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30567,7 +30737,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30584,7 +30754,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30595,7 +30765,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30606,7 +30776,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30623,7 +30793,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30634,7 +30804,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30651,7 +30821,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30668,7 +30838,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30685,7 +30855,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32232,7 +32402,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32249,7 +32419,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32266,7 +32436,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32283,7 +32453,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32300,7 +32470,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32317,7 +32487,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32334,7 +32504,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32351,7 +32521,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32368,7 +32538,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32385,7 +32555,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32399,295 +32569,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32698,7 +32583,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32715,7 +32600,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32726,7 +32611,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32743,7 +32628,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32760,7 +32645,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32777,7 +32662,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32794,7 +32679,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32811,7 +32696,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -32822,7 +32707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32833,7 +32718,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32850,7 +32735,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32867,7 +32752,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32884,7 +32769,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32901,7 +32786,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32918,7 +32803,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32935,7 +32820,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32952,7 +32837,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32963,7 +32848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32980,7 +32865,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32991,7 +32876,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33002,7 +32887,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33013,7 +32898,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33030,7 +32915,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33047,7 +32932,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33061,10 +32963,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33075,7 +32977,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33089,10 +32991,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33103,7 +33005,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33114,7 +33016,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33128,28 +33030,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33165,10 +33050,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -33182,7 +33067,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33196,10 +33098,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33213,10 +33115,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33227,7 +33129,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33241,43 +33143,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -33289,8 +33174,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33306,8 +33191,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33323,8 +33208,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33340,8 +33225,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33357,11 +33242,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -33374,8 +33259,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33391,8 +33276,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33408,8 +33293,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33425,8 +33310,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33442,8 +33327,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33459,8 +33344,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33476,11 +33361,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -33493,7 +33378,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33507,10 +33409,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33521,7 +33708,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33538,7 +33725,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33549,7 +33736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -33566,7 +33753,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33583,7 +33770,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33594,7 +33781,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33605,7 +33792,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33616,7 +33803,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33627,7 +33814,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33638,7 +33825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33655,7 +33842,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33672,7 +33859,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33689,7 +33876,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33706,7 +33893,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33717,7 +33904,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33728,7 +33915,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33745,7 +33932,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33756,7 +33943,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33767,7 +33954,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33778,7 +33965,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33789,7 +33976,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33806,7 +33993,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33817,7 +34004,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33828,7 +34015,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33845,7 +34032,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33856,7 +34043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33873,7 +34060,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33890,7 +34077,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33907,7 +34094,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35454,7 +35641,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 72,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35471,7 +35658,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 150,
+              "position_offset": 132,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35488,7 +35675,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 175,
+              "position_offset": 153,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35505,7 +35692,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 60,
               "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35522,7 +35709,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 120,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35539,7 +35726,7 @@
           "phv_number": 5,
           "records": [
             {
-              "position_offset": 179,
+              "position_offset": 157,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35556,7 +35743,7 @@
           "phv_number": 6,
           "records": [
             {
-              "position_offset": 21,
+              "position_offset": 15,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -35573,7 +35760,7 @@
           "phv_number": 7,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 23,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -35590,7 +35777,7 @@
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 183,
+              "position_offset": 161,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35607,7 +35794,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 43,
+              "position_offset": 35,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35621,295 +35808,10 @@
           "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
-            }
-          ],
-          "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
-            }
-          ],
-          "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
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 133,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 218,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 13,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 31,
-              "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": 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": 167,
-                  "header_name": "packet_out",
-                  "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": 188,
-                  "header_name": "tcp",
-                  "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": 230,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 79,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35920,7 +35822,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 84,
+              "position_offset": 70,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35937,7 +35839,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 157,
+              "position_offset": 139,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35948,7 +35850,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 148,
+              "position_offset": 130,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35965,7 +35867,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 96,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35982,7 +35884,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 73,
+              "position_offset": 59,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35999,7 +35901,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 137,
+              "position_offset": 119,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36016,7 +35918,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 113,
+              "position_offset": 95,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36033,7 +35935,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 163,
+              "position_offset": 143,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -36044,7 +35946,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 165,
+              "position_offset": 145,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36055,7 +35957,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 162,
+              "position_offset": 142,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36072,7 +35974,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 92,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36089,7 +35991,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 156,
+              "position_offset": 138,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36106,7 +36008,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 4,
+              "position_offset": 2,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36123,7 +36025,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 85,
+              "position_offset": 71,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36140,7 +36042,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 131,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36157,7 +36059,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 166,
+              "position_offset": 146,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36174,7 +36076,7 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 29,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36185,7 +36087,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 152,
               "field_name": "spgw.do_spgw",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36202,7 +36104,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 51,
+              "position_offset": 41,
               "field_name": "fabric_metadata.pop_vlan_at_egress",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36213,7 +36115,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 90,
               "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36224,7 +36126,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 187,
+              "position_offset": 165,
               "field_name": "spgw_ingress_hasReturned",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36235,7 +36137,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 173,
+              "position_offset": 151,
               "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36252,7 +36154,7 @@
           "phv_number": 79,
           "records": [
             {
-              "position_offset": 36,
+              "position_offset": 30,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36269,7 +36171,24 @@
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 131,
+              "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,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36283,10 +36202,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 171,
+              "position_offset": 149,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36297,7 +36216,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 111,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36311,10 +36230,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 238,
+              "position_offset": 210,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36325,7 +36244,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 234,
+              "position_offset": 206,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36336,7 +36255,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 240,
+              "position_offset": 212,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36350,28 +36269,11 @@
           "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": 228,
-              "field_name": "udp.src_port",
+              "position_offset": 88,
+              "field_name": "gtpu_udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36387,10 +36289,10 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 163,
-              "field_name": "mpls.label",
-              "field_msb": 19,
-              "field_lsb": 4,
+              "position_offset": 202,
+              "field_name": "udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
@@ -36404,7 +36306,24 @@
           "phv_number": 134,
           "records": [
             {
-              "position_offset": 127,
+              "position_offset": 143,
+              "field_name": "mpls.label",
+              "field_msb": 19,
+              "field_lsb": 4,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
+          "phv_number": 135,
+          "records": [
+            {
+              "position_offset": 109,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36418,10 +36337,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 41,
+              "position_offset": 33,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36435,10 +36354,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 64,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36449,7 +36368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 80,
+              "position_offset": 66,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36463,43 +36382,26 @@
           "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": 27,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 124,
+              "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": 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
@@ -36511,8 +36413,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 236,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 21,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36528,8 +36430,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 90,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 208,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36545,8 +36447,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 154,
-              "field_name": "ipv4.total_len",
+              "position_offset": 76,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36562,8 +36464,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 136,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36579,11 +36481,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 146,
-              "field_name": "ipv4.identification",
+              "position_offset": 15,
+              "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,
@@ -36596,8 +36498,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 100,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 68,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36613,8 +36515,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 224,
-              "field_name": "udp.dst_port",
+              "position_offset": 128,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36630,8 +36532,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 102,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 84,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36647,8 +36549,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 226,
-              "field_name": "udp.len",
+              "position_offset": 198,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36664,8 +36566,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 98,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 86,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36681,8 +36583,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 222,
-              "field_name": "udp.checksum",
+              "position_offset": 200,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36698,11 +36600,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 82,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36715,7 +36617,24 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 29,
+              "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,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36729,10 +36648,295 @@
           "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": 208,
+              "position_offset": 184,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36743,7 +36947,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36760,7 +36964,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 192,
+              "position_offset": 168,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36771,7 +36975,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 119,
+              "position_offset": 101,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -36788,7 +36992,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 52,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36805,7 +37009,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 56,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36816,7 +37020,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 61,
+              "position_offset": 49,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36827,7 +37031,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 63,
+              "position_offset": 51,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36838,7 +37042,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 56,
+              "position_offset": 44,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36849,7 +37053,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 62,
+              "position_offset": 50,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36860,7 +37064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 60,
+              "position_offset": 48,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36877,7 +37081,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 47,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36894,7 +37098,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 9,
+              "position_offset": 5,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36911,7 +37115,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 14,
+              "position_offset": 10,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36928,7 +37132,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 6,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36939,7 +37143,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 188,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36950,7 +37154,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 93,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36967,7 +37171,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 200,
+              "position_offset": 176,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36978,7 +37182,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 182,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36989,7 +37193,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 204,
+              "position_offset": 180,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37000,7 +37204,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 198,
+              "position_offset": 174,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37011,7 +37215,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 115,
+              "position_offset": 97,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37028,7 +37232,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 15,
+              "position_offset": 11,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37039,7 +37243,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 214,
+              "position_offset": 190,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37050,7 +37254,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 117,
+              "position_offset": 99,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37067,7 +37271,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 12,
+              "position_offset": 8,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37078,7 +37282,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 216,
+              "position_offset": 192,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37095,7 +37299,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 202,
+              "position_offset": 178,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37112,7 +37316,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 196,
+              "position_offset": 172,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37129,7 +37333,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 57,
+              "position_offset": 45,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -39477,8 +39681,8 @@
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
-                { "type": "phv", "name": "H1" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H2" },
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -40619,12 +40823,12 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ipv4.total_len" },
-              "src": [ { "type": "phv", "name": "H12" } ]
+              "src": [ { "type": "phv", "name": "H13" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ipv4.identification" },
-              "src": [ { "type": "phv", "name": "H14" } ]
+              "src": [ { "type": "phv", "name": "H32" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -40649,39 +40853,39 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "udp.src_port" },
-              "src": [ { "type": "phv", "name": "H3" } ]
+              "src": [ { "type": "phv", "name": "H4" } ]
             },
             {
               "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" },
+              "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": "H9" },
-              "src": [ { "type": "phv", "name": "H8" } ]
+              "dest": { "type": "phv", "name": "H10" },
+              "src": [ { "type": "phv", "name": "H9" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "W12" },
+              "dest": { "type": "phv", "name": "H43" },
               "src": [
-                { "type": "phv", "name": "W12" },
-                { "type": "phv", "name": "W12" }
+                { "type": "phv", "name": "H43" },
+                { "type": "phv", "name": "H43" }
               ]
             }
           ]
@@ -44233,7 +44437,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -45989,10 +46193,10 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "W12" },
+              "dest": { "type": "phv", "name": "H43" },
               "src": [
                 { "type": "immediate", "name": "$data0" },
-                { "type": "phv", "name": "W12" }
+                { "type": "phv", "name": "H43" }
               ]
             }
           ]
@@ -46058,8 +46262,17 @@
                         "field_width": 2
                       },
                       {
+                        "field_name": "ig_intr_md.ingress_port",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 9
+                      },
+                      {
                         "field_name": "vlan_tag",
-                        "lsb_mem_word_offset": 4,
+                        "lsb_mem_word_offset": 20,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
                         "source": "spec",
@@ -46067,24 +46280,6 @@
                         "field_width": 1
                       },
                       {
-                        "field_name": "ig_intr_md.ingress_port",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "ig_intr_md.ingress_port",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
                         "field_name": "vlan_tag.vlan_id",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 0,
@@ -46413,13 +46608,13 @@
               "dest": { "type": "phv", "name": "vlan_tag.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
-              "src": [ { "type": "phv", "name": "H10" } ]
+              "src": [ { "type": "phv", "name": "H11" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -46436,7 +46631,7 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H2" },
+              "dest": { "type": "phv", "name": "H3" },
               "src": [ { "type": "immediate", "name": "$data0" } ]
             }
           ]
@@ -46471,7 +46666,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "immediate", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             }
           ]
@@ -46499,7 +46694,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
@@ -46675,8 +46870,13 @@
                       { "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": 1,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46684,15 +46884,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 7,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46700,17 +46896,10 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "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"
                       },
@@ -46756,10 +46945,12 @@
                       { "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": "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": 2,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -46769,15 +46960,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46789,18 +46980,10 @@
                         "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": 13, "field_name": "ethernet.dst_addr" },
-                      {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
                       }
@@ -46823,8 +47006,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": 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": 0,
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46832,33 +47027,18 @@
                         "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": 12,
+                        "field_bit": 14,
                         "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"
                       },
@@ -46899,24 +47079,18 @@
                       { "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": 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_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46924,17 +47098,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 11,
                         "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": 12,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -46980,8 +47154,20 @@
                       { "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": 4,
+                        "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"
                       },
                       {
@@ -46993,10 +47179,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"
                       },
@@ -47005,22 +47187,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "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"
@@ -47052,24 +47229,21 @@
                       { "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": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 7,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47077,12 +47251,9 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 15,
                         "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"
@@ -47115,12 +47286,16 @@
                       { "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": 1,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47128,7 +47303,7 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47139,12 +47314,14 @@
                         "field_bit": 12,
                         "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": 13,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 14,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47174,20 +47351,21 @@
                       { "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": 0,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 1,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47195,13 +47373,6 @@
                         "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"
                       },
@@ -47243,24 +47414,18 @@
                       { "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": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "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": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47272,15 +47437,21 @@
                         "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"
@@ -47322,36 +47493,27 @@
                       { "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": 6,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 10,
                         "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"
                       },
@@ -47386,15 +47548,41 @@
                       { "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"
                       },
@@ -47411,17 +47599,6 @@
                         "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"
                       },
@@ -47461,20 +47638,17 @@
                       { "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": 0,
-                        "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": 10, "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_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 4,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47482,6 +47656,18 @@
                         "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"
                       },
@@ -47489,12 +47675,6 @@
                         "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"
@@ -47532,26 +47712,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": 5,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "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"
                       },
@@ -47580,23 +47760,18 @@
                       { "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"
                       },
@@ -47609,11 +47784,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47621,13 +47796,6 @@
                         "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"
                       },
@@ -47668,12 +47836,19 @@
                       { "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": 1,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47681,22 +47856,21 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "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": 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"
@@ -47728,6 +47902,13 @@
                       { "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"
@@ -47737,20 +47918,10 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 12,
                         "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"
                       },
@@ -47794,20 +47965,28 @@
                       { "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": 4,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 10,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47815,14 +47994,6 @@
                         "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"
                       },
@@ -47870,32 +48041,34 @@
                       { "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": 10,
+                        "field_bit": 8,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 9,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47906,11 +48079,6 @@
                         "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"
@@ -47957,8 +48125,21 @@
                       { "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": 7,
+                        "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_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47966,19 +48147,9 @@
                         "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"
@@ -48025,16 +48196,19 @@
                       { "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": 0,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48042,13 +48216,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"
@@ -48086,24 +48260,22 @@
                       { "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": 0,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 1,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48111,14 +48283,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48163,8 +48334,12 @@
                       { "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": 2,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48176,6 +48351,10 @@
                         "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"
                       },
@@ -48184,15 +48363,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 3,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48235,36 +48412,31 @@
                       { "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_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": 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_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48272,15 +48444,17 @@
                         "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": 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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48318,6 +48492,15 @@
                       { "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"
@@ -48327,19 +48510,7 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "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_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48347,15 +48518,21 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 11,
                         "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": 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": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48411,6 +48588,18 @@
                       { "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"
@@ -48424,15 +48613,7 @@
                         "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_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48440,17 +48621,13 @@
                         "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": 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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48484,12 +48661,26 @@
                       { "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": 4,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "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_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48497,19 +48688,17 @@
                         "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_bit": 14,
                         "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"
@@ -48543,16 +48732,13 @@
                       { "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": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 4,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48560,24 +48746,18 @@
                         "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": 12,
+                        "field_bit": 11,
                         "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"
                       },
@@ -48616,6 +48796,12 @@
                       { "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"
@@ -48629,11 +48815,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48645,29 +48831,14 @@
                         "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": 13,
+                        "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": 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"
                       },
@@ -48707,12 +48878,19 @@
                       { "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": 3,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48720,21 +48898,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 14,
                         "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"
@@ -48758,32 +48932,35 @@
                       { "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": 0,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "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": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -49767,8 +49944,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": [
                 {
@@ -49923,12 +50100,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
+              { "memory_units": [ 6 ], "vpns": [ 0 ] },
+              { "memory_units": [ 7 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 55
+            "spare_bank_memory_unit": 7
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 0
         }
       ],
       "how_referenced": "direct",
@@ -50371,7 +50548,7 @@
                 "action_handle": 536870941,
                 "table_name": "tbl_act_20",
                 "next_table": 0,
-                "next_table_full": 114,
+                "next_table_full": 116,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -50381,7 +50558,7 @@
                 "action_handle": 536870940,
                 "table_name": "tbl_act_20",
                 "next_table": 0,
-                "next_table_full": 114,
+                "next_table_full": 116,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 66,
                 "immediate_fields": [
@@ -50395,7 +50572,7 @@
                 ]
               }
             ],
-            "result_physical_buses": [ 12, 14 ],
+            "result_physical_buses": [ 14 ],
             "pack_format": [
               {
                 "memory_word_width": 128,
@@ -50766,7 +50943,7 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
                 }
               }
             ]
@@ -50823,7 +51000,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -50879,221 +51056,45 @@
       "handle": 16777238,
       "name": "tbl_act_6",
       "table_type": "match",
-      "size": 512,
+      "size": 1,
+      "preferred_match_type": "exact",
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 7,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
+            "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,
             "pack_format": [
               {
                 "table_word_width": 0,
-                "memory_word_width": 47,
+                "memory_word_width": 0,
                 "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
-                      }
-                    ]
-                  }
-                ]
+                "number_memory_units_per_table_word": 0
               }
             ],
-            "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": 536870942,
-                  "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
-                    }
-                  ]
-                }
-              ]
-            }
+            "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": []
           }
         ],
-        "match_type": "ternary"
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false
       },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
       "actions": [
         {
           "name": "act_6",
@@ -51121,10 +51122,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "fabric_metadata.original_ether_type" },
-              "src": [
-                { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "W11" }
-              ]
+              "src": [ { "immediate": "2048" } ]
             }
           ]
         }
@@ -51135,7 +51133,13 @@
       "ap_bind_indirect_res_to_match": [],
       "is_resource_controllable": true,
       "uses_range": false,
-      "match_key_fields": []
+      "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",
@@ -51149,7 +51153,7 @@
             "stage_number": 7,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
+            "logical_table_id": 2,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -51213,11 +51217,11 @@
             ],
             "memory_resource_allocation": {
               "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 2
+              "memory_units_and_vpns": [ { "memory_units": [ 5 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 5
             },
             "default_next_table": 0,
-            "result_physical_buses": [ 4 ],
+            "result_physical_buses": [ 10 ],
             "ternary_indirection_stage_table": {
               "stage_number": 7,
               "stage_table_type": "ternary_indirection",
@@ -51304,8 +51308,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": [
                 {
@@ -51437,7 +51441,7 @@
           "stage_number": 7,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 3,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -51467,6 +51471,407 @@
     {
       "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,
       "name": "forwarding.acl",
       "table_type": "match",
       "size": 256,
@@ -51570,7 +51975,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
+                        "field_name": "ipv4.dst_addr",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
@@ -51624,7 +52029,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.original_ether_type",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -51633,7 +52038,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
+                        "field_name": "ipv4.dst_addr",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -51651,7 +52056,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.l4_dst_port",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -51660,7 +52065,7 @@
                         "field_width": 4
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.l4_dst_port",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -51687,7 +52092,7 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "fabric_metadata.original_ether_type",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -51705,7 +52110,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "ipv4.dst_addr",
+                        "field_name": "ethernet.src_addr",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -51732,16 +52137,25 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "ethernet.src_addr",
+                        "field_name": "fabric_metadata.l4_src_port",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
                         "start_bit": 0,
-                        "field_width": 16
+                        "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.l4_src_port",
+                        "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",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
@@ -51750,7 +52164,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.l4_src_port",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
@@ -51813,7 +52227,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.l4_src_port",
+                        "field_name": "fabric_metadata.original_ether_type",
                         "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
@@ -51952,7 +52366,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870948,
+                  "action_handle": 536870950,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -51962,7 +52376,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870945,
+                  "action_handle": 536870947,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -51980,7 +52394,7 @@
                 },
                 {
                   "action_name": "forwarding.duplicate_to_controller",
-                  "action_handle": 536870946,
+                  "action_handle": 536870948,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -51999,7 +52413,7 @@
                 },
                 {
                   "action_name": "forwarding.drop",
-                  "action_handle": 536870947,
+                  "action_handle": 536870949,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52019,7 +52433,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108872,
+          "handle": 67108873,
           "name": "forwarding.acl_counter"
         }
       ],
@@ -52027,7 +52441,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870948,
+          "handle": 536870950,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52046,7 +52460,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870945,
+          "handle": 536870947,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52078,7 +52492,7 @@
         },
         {
           "name": "forwarding.duplicate_to_controller",
-          "handle": 536870946,
+          "handle": 536870948,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52099,14 +52513,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "forwarding.drop",
-          "handle": 536870947,
+          "handle": 536870949,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52127,13 +52541,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870948,
+      "default_action_handle": 536870950,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -52276,7 +52690,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108872,
+      "handle": 67108873,
       "name": "forwarding.acl_counter",
       "table_type": "statistics",
       "size": 0,
@@ -52314,7 +52728,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777241,
+      "handle": 16777242,
       "name": "next.simple",
       "table_type": "match",
       "size": 3072,
@@ -52330,12 +52744,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108873,
+          "handle": 67108874,
           "name": "next.simple_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870953,
+      "default_action_handle": 536870955,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -54051,7 +54465,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870953,
+                "action_handle": 536870955,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 162,
@@ -54061,7 +54475,7 @@
               },
               {
                 "action_name": "next.output",
-                "action_handle": 536870949,
+                "action_handle": 536870951,
                 "table_name": "next_hashed",
                 "next_table": 1,
                 "next_table_full": 162,
@@ -54071,7 +54485,7 @@
               },
               {
                 "action_name": "next.set_vlan_output",
-                "action_handle": 536870950,
+                "action_handle": 536870952,
                 "table_name": "next_hashed",
                 "next_table": 2,
                 "next_table_full": 162,
@@ -54081,7 +54495,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870951,
+                "action_handle": 536870953,
                 "table_name": "next_hashed",
                 "next_table": 3,
                 "next_table_full": 162,
@@ -54091,7 +54505,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870952,
+                "action_handle": 536870954,
                 "table_name": "next_hashed",
                 "next_table": 4,
                 "next_table_full": 162,
@@ -54543,7 +54957,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870953,
+          "handle": 536870955,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54561,7 +54975,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870949,
+          "handle": 536870951,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54588,14 +55002,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870950,
+          "handle": 536870952,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54628,7 +55042,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             },
             {
@@ -54644,14 +55058,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870951,
+          "handle": 536870953,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54680,7 +55094,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -54707,7 +55121,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870952,
+          "handle": 536870954,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54742,7 +55156,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -54750,7 +55164,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -54799,7 +55213,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108873,
+      "handle": 67108874,
       "name": "next.simple_counter",
       "table_type": "statistics",
       "size": 0,
@@ -54870,7 +55284,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870953
+              "action_handle": 536870955
             },
             {
               "memory_word_width": 128,
@@ -54911,7 +55325,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870949
+              "action_handle": 536870951
             },
             {
               "memory_word_width": 128,
@@ -54970,7 +55384,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870950
+              "action_handle": 536870952
             },
             {
               "memory_word_width": 128,
@@ -55047,7 +55461,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870951
+              "action_handle": 536870953
             },
             {
               "memory_word_width": 128,
@@ -55124,7 +55538,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870952
+              "action_handle": 536870954
             }
           ],
           "memory_resource_allocation": {
@@ -55141,7 +55555,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870953,
+          "handle": 536870955,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55159,7 +55573,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870949,
+          "handle": 536870951,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55186,14 +55600,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870950,
+          "handle": 536870952,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55226,7 +55640,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             },
             {
@@ -55242,14 +55656,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870951,
+          "handle": 536870953,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55278,7 +55692,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -55305,7 +55719,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870952,
+          "handle": 536870954,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55340,7 +55754,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -55348,7 +55762,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -55398,7 +55812,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777242,
+      "handle": 16777243,
       "name": "tbl_act_7",
       "table_type": "match",
       "size": 1,
@@ -55425,7 +55839,7 @@
             "action_format": [
               {
                 "action_name": "act_7",
-                "action_handle": 536870954,
+                "action_handle": 536870956,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 162,
@@ -55443,7 +55857,7 @@
       "actions": [
         {
           "name": "act_7",
-          "handle": 536870954,
+          "handle": 536870956,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55471,7 +55885,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870954,
+      "default_action_handle": 536870956,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -55487,7 +55901,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777243,
+      "handle": 16777244,
       "name": "next.hashed",
       "table_type": "match",
       "size": 3072,
@@ -55509,14 +55923,14 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108874,
+          "handle": 67108875,
           "name": "next.hashed_counter"
         }
       ],
       "stateful_table_refs": [],
       "default_selector_mask": 0,
       "default_selector_value": 0,
-      "default_action_handle": 536870958,
+      "default_action_handle": 536870960,
       "action_profile": "next.ecmp_selector",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -55567,23 +55981,7 @@
                         "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": 24,
+                        "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -55591,15 +55989,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_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 0,
+                        "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"
                       }
                     ]
@@ -55621,22 +56031,6 @@
                         "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"
                       },
@@ -55645,15 +56039,27 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 30,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 1,
+                        "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"
                       }
                     ]
@@ -55679,35 +56085,35 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 25,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 2,
+                        "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"
                       }
                     ]
@@ -55737,34 +56143,10 @@
                         "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": 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"
                       },
@@ -55777,15 +56159,39 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 3,
+                        "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": 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"
                       }
                     ]
@@ -55807,27 +56213,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -55835,7 +56221,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 30,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -55843,7 +56229,27 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 2,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -55869,22 +56275,6 @@
                         "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": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 26,
                         "field_name": "fabric_metadata.next_id"
                       },
@@ -55897,7 +56287,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 3,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -55919,23 +56325,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "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": 25,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -55951,15 +56341,31 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 6,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -55977,26 +56383,6 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
@@ -56013,7 +56399,27 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 31,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "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"
                       }
                     ]
@@ -56035,23 +56441,11 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56059,7 +56453,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 6,
+                        "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"
                       }
                     ]
@@ -56077,24 +56487,28 @@
                         "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": 29,
                         "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": 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"
                       }
                     ]
                   },
@@ -56123,27 +56537,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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": 23,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56151,7 +56545,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56167,7 +56561,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 0,
+                        "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"
                       }
                     ]
@@ -56197,23 +56607,7 @@
                         "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_bit": 28,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56221,11 +56615,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 1,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56243,27 +56649,15 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 25,
                         "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": 26,
+                        "field_bit": 28,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56271,15 +56665,27 @@
                         "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_bit": 0,
+                        "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"
                       }
                     ]
@@ -56301,18 +56707,6 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "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"
                       },
@@ -56321,19 +56715,31 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 27,
+                        "field_bit": 31,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 3,
+                        "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"
                       }
                     ]
@@ -56355,22 +56761,6 @@
                         "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": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
@@ -56383,15 +56773,31 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 2,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 4,
+                        "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": 22,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56417,23 +56823,11 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 25,
                         "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": 28,
+                        "field_bit": 26,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56445,11 +56839,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 5,
+                        "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"
                       }
                     ]
@@ -56463,19 +56869,7 @@
                         "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": 26,
+                        "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56487,11 +56881,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 6,
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56517,31 +56923,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 20,
+                        "field_bit": 28,
                         "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_bit": 29,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56549,7 +56943,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 31,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 17,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 22,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56567,31 +56973,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "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": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56599,8 +56981,36 @@
                         "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": 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"
                       }
                     ]
                   },
@@ -56621,31 +57031,35 @@
                         "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": 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": 31,
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "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": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56671,31 +57085,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "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": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56703,7 +57093,15 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "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"
                       },
                       {
@@ -56711,7 +57109,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 0,
+                        "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"
                       }
                     ]
@@ -56737,15 +57147,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56753,15 +57155,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 1,
+                        "field_bit": 21,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56783,31 +57189,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 17,
+                        "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 19,
+                        "field_bit": 27,
                         "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": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
+                        "field_bit": 29,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56815,7 +57209,19 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 2,
+                        "field_bit": 0,
+                        "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"
                       }
                     ]
@@ -56837,31 +57243,31 @@
                         "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": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 3,
+                        "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": 16,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 19,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56887,11 +57293,31 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 19,
+                        "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": 2,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 18,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56901,9 +57327,23 @@
                       {
                         "field_bit": 21,
                         "field_name": "fabric_metadata.next_id"
+                      }
+                    ]
+                  },
+                  {
+                    "hash_bit": 25,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 11,
+                        "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 23,
+                        "field_bit": 24,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56919,17 +57359,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 25,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 11,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56941,7 +57371,7 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 18,
+                        "field_bit": 19,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -56949,31 +57379,7 @@
                         "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": 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": 5,
+                        "field_bit": 23,
                         "field_name": "fabric_metadata.next_id"
                       }
                     ]
@@ -56995,14 +57401,6 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "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"
                       },
@@ -57011,19 +57409,27 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 26,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 16,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 17,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 6,
+                        "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"
                       }
                     ]
@@ -57041,27 +57447,15 @@
                         "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": 26,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 27,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 28,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -57069,11 +57463,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 7,
+                        "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"
                       }
                     ]
@@ -57091,27 +57497,31 @@
                         "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": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
                         "field_bit": 25,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 29,
+                        "field_bit": 27,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "field_bit": 30,
+                        "field_name": "fabric_metadata.next_id"
+                      },
+                      {
+                        "field_bit": 6,
+                        "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"
                       }
                     ]
@@ -57133,15 +57543,11 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 16,
+                        "field_bit": 24,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
+                        "field_bit": 26,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
@@ -57149,15 +57555,23 @@
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 28,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 30,
+                        "field_bit": 19,
                         "field_name": "fabric_metadata.next_id"
                       },
                       {
-                        "field_bit": 31,
+                        "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"
                       }
                     ]
@@ -57168,7 +57582,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870958,
+                "action_handle": 536870960,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57178,7 +57592,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870955,
+                "action_handle": 536870957,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57188,7 +57602,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870956,
+                "action_handle": 536870958,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57198,7 +57612,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v6",
-                "action_handle": 536870957,
+                "action_handle": 536870959,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57659,7 +58073,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870958,
+          "handle": 536870960,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -57677,7 +58091,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870955,
+          "handle": 536870957,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -57706,7 +58120,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -57733,7 +58147,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870956,
+          "handle": 536870958,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -57768,7 +58182,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -57776,7 +58190,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -57823,7 +58237,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870957,
+          "handle": 536870959,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -57858,7 +58272,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -57866,7 +58280,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -57980,7 +58394,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870958
+              "action_handle": 536870960
             },
             {
               "memory_word_width": 128,
@@ -58066,255 +58480,255 @@
                   ]
                 }
               ],
-              "action_handle": 536870955
-            },
-            {
-              "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": 536870956
-            },
-            {
-              "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": 536870957
+            },
+            {
+              "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": 536870958
+            },
+            {
+              "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": 536870959
             }
           ],
           "memory_resource_allocation": {
@@ -58327,7 +58741,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870958,
+          "handle": 536870960,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58345,7 +58759,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870955,
+          "handle": 536870957,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58374,7 +58788,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -58401,7 +58815,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870956,
+          "handle": 536870958,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58436,7 +58850,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -58444,7 +58858,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -58491,7 +58905,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870957,
+          "handle": 536870959,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58526,7 +58940,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -58534,7 +58948,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             },
             {
@@ -58584,7 +58998,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108874,
+      "handle": 67108875,
       "name": "next.hashed_counter",
       "table_type": "statistics",
       "size": 0,
@@ -58623,7 +59037,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777244,
+      "handle": 16777245,
       "name": "tbl_act_10",
       "table_type": "match",
       "size": 1,
@@ -58646,11 +59060,11 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
                 "action_name": "act_10",
-                "action_handle": 536870959,
+                "action_handle": 536870961,
                 "table_name": "tbl_act_22",
                 "next_table": 0,
                 "next_table_full": 177,
@@ -58668,7 +59082,7 @@
       "actions": [
         {
           "name": "act_10",
-          "handle": 536870959,
+          "handle": 536870961,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58687,20 +59101,20 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ethernet.ether_type" },
-              "src": [ { "type": "phv", "name": "H11" } ]
+              "src": [ { "type": "phv", "name": "H12" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.$valid" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "W13" }
+                { "type": "phv", "name": "H44" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870959,
+      "default_action_handle": 536870961,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -58716,7 +59130,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777245,
+      "handle": 16777246,
       "name": "tbl_act_8",
       "table_type": "match",
       "size": 512,
@@ -58739,14 +59153,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "act_8",
-                "action_handle": 536870960,
-                "table_name": "--END_OF_PIPELINE--",
+                "action_handle": 536870962,
+                "table_name": "next_broadcast",
                 "next_table": 0,
-                "next_table_full": 255,
+                "next_table_full": 178,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -58761,7 +59175,7 @@
       "actions": [
         {
           "name": "act_8",
-          "handle": 536870960,
+          "handle": 536870962,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58779,7 +59193,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870960,
+      "default_action_handle": 536870962,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -58793,7 +59207,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 67108875,
+          "handle": 67108876,
           "name": "port_counters_control.egress_port_counter"
         }
       ],
@@ -58801,7 +59215,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108875,
+      "handle": 67108876,
       "name": "port_counters_control.egress_port_counter",
       "table_type": "statistics",
       "size": 511,
@@ -58822,12 +59236,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 78 ], "vpns": [ 0 ] },
-              { "memory_units": [ 79 ], "vpns": [ 1 ] }
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 79
+            "spare_bank_memory_unit": 55
           },
-          "stats_alu_index": 3
+          "stats_alu_index": 2
         }
       ],
       "how_referenced": "indirect",
@@ -58836,6 +59250,2466 @@
       "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": [
@@ -58872,12 +61746,12 @@
     {
       "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
       "name": "stage_1_match_input_xbar_din_power_ctl",
-      "value": "000000000000002000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000001000000010000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
@@ -58907,7 +61781,7 @@
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
       "name": "stage_6_match_input_xbar_din_power_ctl",
-      "value": "0000005000000028000000000000000000000000000000400000000000000000000000440000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000005000000000000000000000000000000000000000400000000000000000000000880000008000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[6].dp.xbar_hash.hash.parity_group_mask",
@@ -58917,7 +61791,7 @@
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "0000005000000000000000000000000000000040000000200000000000000000000000240000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000005000000000000000000000000000000040000000200000000000000000000000480000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -58927,7 +61801,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "000000d20000000c000000000000000000000024000000800000000000000000000000c4000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "000000d200000000000000000000000000000024000000800000000000000000000000880000008100000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[9].dp.match_input_xbar_din_power_ctl",
@@ -58942,17 +61816,17 @@
     {
       "fully_qualified_name": "mau[10].dp.match_input_xbar_din_power_ctl",
       "name": "stage_10_match_input_xbar_din_power_ctl",
-      "value": "0000001200000036000000000000000000000000000000800000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "000000120000000200000000000000000000000000000080000000000000000000000000000000010000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_10_parity_group_mask",
-      "value": "00000003000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000001000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[11].dp.match_input_xbar_din_power_ctl",
       "name": "stage_11_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000002000000000000000000000000000000400000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "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/montara/fabric.p4info b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montara/fabric.p4info
index 8e9a4eb..cb3e8ff 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montara/fabric.p4info
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montara/fabric.p4info
@@ -220,6 +220,34 @@
 }
 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"
@@ -372,6 +400,28 @@
   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
@@ -563,6 +613,23 @@
 }
 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"
@@ -722,6 +789,17 @@
 }
 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"
@@ -753,6 +831,17 @@
   }
   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/montara/tofino.bin b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montara/tofino.bin
index e5f58ec..60af33b 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montara/tofino.bin
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montara/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 c267fb7..b8ccfe0 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/11/18 20:58:27",
+  "build_date": "02/14/18 22:06:28",
   "compiler_version": "6.0.0-alpha.4",
   "program_name": "main",
   "learn_quanta": [],
@@ -46,7 +46,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -63,7 +63,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -131,7 +131,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -142,7 +142,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -153,7 +153,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -187,7 +187,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -204,7 +204,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -329,7 +329,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -348,7 +348,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -367,7 +367,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -403,7 +403,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -422,7 +422,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -441,7 +441,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -455,6 +455,23 @@
           "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,
@@ -468,10 +485,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -507,10 +524,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -521,7 +538,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -532,7 +549,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -546,10 +563,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -563,7 +580,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -580,7 +597,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -597,7 +614,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -614,10 +631,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -631,7 +648,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -648,7 +665,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -665,7 +682,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -682,7 +699,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -702,7 +719,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -730,7 +747,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -769,7 +786,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -780,7 +797,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -808,7 +825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -825,7 +842,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -853,7 +870,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -864,7 +881,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -875,7 +892,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -886,7 +903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -897,7 +914,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -936,7 +953,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -947,7 +964,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -986,7 +1003,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -997,7 +1014,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1014,7 +1031,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1031,7 +1048,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1048,7 +1065,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1059,7 +1076,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1087,7 +1104,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1098,7 +1115,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1115,7 +1132,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1132,7 +1149,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2181,7 +2198,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2198,7 +2215,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2266,7 +2283,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -2277,7 +2294,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2288,7 +2305,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2322,7 +2339,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2339,7 +2356,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2464,7 +2481,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -2483,7 +2500,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -2502,7 +2519,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -2538,7 +2555,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -2557,7 +2574,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -2576,7 +2593,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -2590,6 +2607,23 @@
           "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,
@@ -2603,10 +2637,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2642,10 +2676,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2656,7 +2690,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2667,7 +2701,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2681,10 +2715,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -2698,7 +2732,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -2715,7 +2749,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -2732,7 +2766,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -2749,10 +2783,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2766,7 +2800,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -2783,7 +2817,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -2800,7 +2834,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -2817,7 +2851,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -2837,7 +2871,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2865,7 +2899,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2904,7 +2938,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2915,7 +2949,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2943,7 +2977,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2960,7 +2994,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2988,7 +3022,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2999,7 +3033,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3010,7 +3044,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3021,7 +3055,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3032,7 +3066,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3071,7 +3105,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3082,7 +3116,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3121,7 +3155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3132,7 +3166,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3149,7 +3183,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3166,7 +3200,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3183,7 +3217,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3194,7 +3228,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3222,7 +3256,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3233,7 +3267,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3250,7 +3284,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3267,7 +3301,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4316,7 +4350,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4333,7 +4367,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4401,7 +4435,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -4412,7 +4446,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4423,7 +4457,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4457,7 +4491,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4474,7 +4508,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4599,7 +4633,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -4618,7 +4652,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -4637,7 +4671,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -4673,7 +4707,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -4692,7 +4726,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -4711,7 +4745,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -4725,6 +4759,23 @@
           "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,
@@ -4738,10 +4789,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4777,10 +4828,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4791,7 +4842,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4802,7 +4853,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4816,10 +4867,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -4833,7 +4884,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -4850,7 +4901,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -4867,7 +4918,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -4884,10 +4935,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4901,7 +4952,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -4918,7 +4969,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -4935,7 +4986,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -4952,7 +5003,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -4972,7 +5023,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5000,7 +5051,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5039,7 +5090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5050,7 +5101,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5078,7 +5129,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5095,7 +5146,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5123,7 +5174,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5134,7 +5185,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5145,7 +5196,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5156,7 +5207,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5167,7 +5218,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5206,7 +5257,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5217,7 +5268,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5256,7 +5307,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5267,7 +5318,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5284,7 +5335,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5301,7 +5352,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5318,7 +5369,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5329,7 +5380,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5357,7 +5408,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5368,7 +5419,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5385,7 +5436,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5402,7 +5453,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6451,7 +6502,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6468,7 +6519,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6536,7 +6587,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -6547,7 +6598,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6558,7 +6609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6592,7 +6643,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6609,7 +6660,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6734,7 +6785,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -6753,7 +6804,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -6772,7 +6823,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -6808,7 +6859,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -6827,7 +6878,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -6846,7 +6897,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -6860,6 +6911,23 @@
           "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,
@@ -6873,10 +6941,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6912,10 +6980,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6926,7 +6994,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6937,7 +7005,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6951,10 +7019,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -6968,7 +7036,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -6985,7 +7053,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -7002,7 +7070,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -7019,10 +7087,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7036,7 +7104,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -7053,7 +7121,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -7070,7 +7138,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -7087,7 +7155,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -7107,7 +7175,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7135,7 +7203,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7174,7 +7242,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7185,7 +7253,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7213,7 +7281,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7230,7 +7298,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7258,7 +7326,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7269,7 +7337,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7280,7 +7348,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7291,7 +7359,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7302,7 +7370,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7341,7 +7409,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7352,7 +7420,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7391,7 +7459,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7402,7 +7470,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7419,7 +7487,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7436,7 +7504,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7453,7 +7521,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7464,7 +7532,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7492,7 +7560,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7503,7 +7571,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7520,7 +7588,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7537,7 +7605,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8586,7 +8654,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8603,7 +8671,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8671,7 +8739,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -8682,7 +8750,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8693,7 +8761,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8727,7 +8795,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8744,7 +8812,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8869,7 +8937,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -8888,7 +8956,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -8907,7 +8975,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -8943,7 +9011,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -8962,7 +9030,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -8981,7 +9049,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -8995,6 +9063,23 @@
           "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,
@@ -9008,10 +9093,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9047,10 +9132,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9061,7 +9146,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9072,7 +9157,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9086,10 +9171,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -9103,7 +9188,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -9120,7 +9205,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -9137,7 +9222,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -9154,10 +9239,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9171,7 +9256,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -9188,7 +9273,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -9205,7 +9290,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -9222,7 +9307,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -9242,7 +9327,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9270,7 +9355,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9309,7 +9394,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9320,7 +9405,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9348,7 +9433,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9365,7 +9450,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9393,7 +9478,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9404,7 +9489,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9415,7 +9500,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9426,7 +9511,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9437,7 +9522,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9476,7 +9561,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9487,7 +9572,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9526,7 +9611,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9537,7 +9622,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9554,7 +9639,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9571,7 +9656,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9588,7 +9673,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9599,7 +9684,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9627,7 +9712,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9638,7 +9723,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9655,7 +9740,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9672,7 +9757,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10721,7 +10806,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10738,7 +10823,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10806,7 +10891,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -10817,7 +10902,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10828,7 +10913,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10862,7 +10947,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10879,7 +10964,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11004,7 +11089,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -11023,7 +11108,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -11042,7 +11127,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -11078,7 +11163,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -11097,7 +11182,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -11116,7 +11201,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -11130,6 +11215,23 @@
           "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,
@@ -11143,10 +11245,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11182,10 +11284,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11196,7 +11298,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11207,7 +11309,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11221,10 +11323,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -11238,7 +11340,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -11255,7 +11357,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -11272,7 +11374,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -11289,10 +11391,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11306,7 +11408,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -11323,7 +11425,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -11340,7 +11442,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -11357,7 +11459,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -11377,7 +11479,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11405,7 +11507,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11444,7 +11546,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11455,7 +11557,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11483,7 +11585,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11500,7 +11602,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11528,7 +11630,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11539,7 +11641,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11550,7 +11652,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11561,7 +11663,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11572,7 +11674,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11611,7 +11713,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11622,7 +11724,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11661,7 +11763,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11672,7 +11774,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11689,7 +11791,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11706,7 +11808,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11723,7 +11825,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11734,7 +11836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11762,7 +11864,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11773,7 +11875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11790,7 +11892,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11807,7 +11909,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12856,7 +12958,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12873,7 +12975,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12941,7 +13043,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -12952,7 +13054,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12963,7 +13065,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12997,7 +13099,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13014,7 +13116,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13139,7 +13241,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -13158,7 +13260,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -13177,7 +13279,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -13213,7 +13315,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -13232,7 +13334,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -13251,7 +13353,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -13265,6 +13367,23 @@
           "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,
@@ -13278,10 +13397,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13317,10 +13436,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13331,7 +13450,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13342,7 +13461,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13356,10 +13475,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -13373,7 +13492,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -13390,7 +13509,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -13407,7 +13526,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -13424,10 +13543,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13441,7 +13560,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -13458,7 +13577,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -13475,7 +13594,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -13492,7 +13611,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -13512,7 +13631,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13540,7 +13659,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13579,7 +13698,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13590,7 +13709,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13618,7 +13737,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13635,7 +13754,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13663,7 +13782,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13674,7 +13793,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13685,7 +13804,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13696,7 +13815,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13707,7 +13826,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13746,7 +13865,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13757,7 +13876,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13796,7 +13915,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13807,7 +13926,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13824,7 +13943,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13841,7 +13960,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13858,7 +13977,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13869,7 +13988,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13897,7 +14016,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13908,7 +14027,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13925,7 +14044,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13942,7 +14061,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14991,7 +15110,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15008,7 +15127,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15076,7 +15195,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -15087,7 +15206,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15098,7 +15217,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15132,7 +15251,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15149,7 +15268,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15274,7 +15393,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -15293,7 +15412,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -15312,7 +15431,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -15348,7 +15467,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -15367,7 +15486,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -15386,7 +15505,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -15400,6 +15519,23 @@
           "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,
@@ -15413,10 +15549,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15452,10 +15588,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15466,7 +15602,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15477,7 +15613,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15491,10 +15627,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -15508,7 +15644,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -15525,7 +15661,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -15542,7 +15678,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -15559,10 +15695,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15576,7 +15712,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -15593,7 +15729,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -15610,7 +15746,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -15627,7 +15763,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -15647,7 +15783,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15675,7 +15811,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15714,7 +15850,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15725,7 +15861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15753,7 +15889,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15770,7 +15906,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15798,7 +15934,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15809,7 +15945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15820,7 +15956,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15831,7 +15967,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15842,7 +15978,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15881,7 +16017,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15892,7 +16028,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15931,7 +16067,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15942,7 +16078,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15959,7 +16095,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15976,7 +16112,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15993,7 +16129,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16004,7 +16140,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16032,7 +16168,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16043,7 +16179,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16060,7 +16196,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16077,7 +16213,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17126,7 +17262,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17143,7 +17279,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17211,7 +17347,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -17222,7 +17358,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17233,7 +17369,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17267,7 +17403,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17284,7 +17420,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17409,7 +17545,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -17428,7 +17564,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -17447,7 +17583,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -17483,7 +17619,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -17502,7 +17638,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -17521,7 +17657,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -17535,6 +17671,23 @@
           "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,
@@ -17548,10 +17701,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17587,10 +17740,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17601,7 +17754,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17612,7 +17765,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17626,10 +17779,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -17643,7 +17796,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -17660,7 +17813,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -17677,7 +17830,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -17694,10 +17847,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17711,7 +17864,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -17728,7 +17881,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -17745,7 +17898,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -17762,7 +17915,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -17782,7 +17935,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17810,7 +17963,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17849,7 +18002,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17860,7 +18013,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17888,7 +18041,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17905,7 +18058,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17933,7 +18086,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17944,7 +18097,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17955,7 +18108,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17966,7 +18119,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17977,7 +18130,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18016,7 +18169,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18027,7 +18180,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18066,7 +18219,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18077,7 +18230,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18094,7 +18247,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18111,7 +18264,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18128,7 +18281,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18139,7 +18292,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18167,7 +18320,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18178,7 +18331,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18195,7 +18348,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18212,7 +18365,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19261,7 +19414,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19278,7 +19431,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19346,7 +19499,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19357,7 +19510,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19368,7 +19521,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19402,7 +19555,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19419,7 +19572,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19544,7 +19697,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -19563,7 +19716,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -19582,7 +19735,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -19618,7 +19771,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -19637,7 +19790,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -19656,7 +19809,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -19670,6 +19823,23 @@
           "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,
@@ -19683,10 +19853,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19722,10 +19892,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19736,7 +19906,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19747,7 +19917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19761,10 +19931,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -19778,7 +19948,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -19795,7 +19965,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -19812,7 +19982,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -19829,10 +19999,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19846,7 +20016,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -19863,7 +20033,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -19880,7 +20050,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -19897,7 +20067,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -19917,7 +20087,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19945,7 +20115,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19984,7 +20154,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19995,7 +20165,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20023,7 +20193,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20040,7 +20210,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20068,7 +20238,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20079,7 +20249,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20090,7 +20260,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20101,7 +20271,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20112,7 +20282,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20151,7 +20321,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20162,7 +20332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20201,7 +20371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20212,7 +20382,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20229,7 +20399,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20246,7 +20416,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20263,7 +20433,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20274,7 +20444,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20302,7 +20472,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20313,7 +20483,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20330,7 +20500,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20347,7 +20517,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21396,7 +21566,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21413,7 +21583,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21481,7 +21651,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -21492,7 +21662,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21503,7 +21673,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21537,7 +21707,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21554,7 +21724,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21679,7 +21849,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -21698,7 +21868,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -21717,7 +21887,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -21753,7 +21923,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -21772,7 +21942,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -21791,7 +21961,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -21805,6 +21975,23 @@
           "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,
@@ -21818,10 +22005,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21857,10 +22044,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21871,7 +22058,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21882,7 +22069,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21896,10 +22083,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -21913,7 +22100,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -21930,7 +22117,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -21947,7 +22134,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -21964,10 +22151,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21981,7 +22168,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -21998,7 +22185,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -22015,7 +22202,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -22032,7 +22219,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -22052,7 +22239,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22080,7 +22267,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22119,7 +22306,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22130,7 +22317,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22158,7 +22345,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22175,7 +22362,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22203,7 +22390,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22214,7 +22401,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22225,7 +22412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22236,7 +22423,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22247,7 +22434,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22286,7 +22473,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22297,7 +22484,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22336,7 +22523,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22347,7 +22534,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22364,7 +22551,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22381,7 +22568,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22398,7 +22585,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22409,7 +22596,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22437,7 +22624,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22448,7 +22635,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22465,7 +22652,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22482,7 +22669,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23531,7 +23718,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23548,7 +23735,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23616,7 +23803,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -23627,7 +23814,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23638,7 +23825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23672,7 +23859,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23689,7 +23876,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23814,7 +24001,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -23833,7 +24020,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -23852,7 +24039,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -23888,7 +24075,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -23907,7 +24094,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -23926,7 +24113,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -23940,6 +24127,23 @@
           "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,
@@ -23953,10 +24157,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23992,10 +24196,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24006,7 +24210,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24017,7 +24221,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24031,10 +24235,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -24048,7 +24252,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -24065,7 +24269,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -24082,7 +24286,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -24099,10 +24303,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24116,7 +24320,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -24133,7 +24337,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -24150,7 +24354,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -24167,7 +24371,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -24187,7 +24391,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24215,7 +24419,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24254,7 +24458,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24265,7 +24469,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24293,7 +24497,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24310,7 +24514,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24338,7 +24542,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24349,7 +24553,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24360,7 +24564,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24371,7 +24575,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24382,7 +24586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24421,7 +24625,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24432,7 +24636,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24471,7 +24675,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24482,7 +24686,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24499,7 +24703,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24516,7 +24720,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24533,7 +24737,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24544,7 +24748,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24572,7 +24776,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24583,7 +24787,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24600,7 +24804,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24617,7 +24821,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25879,8 +26083,8 @@
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
-                { "type": "phv", "name": "H1" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H2" },
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -26311,7 +26515,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
-              "src": [ { "type": "phv", "name": "H6" } ]
+              "src": [ { "type": "phv", "name": "H7" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -26328,7 +26532,7 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H2" },
+              "dest": { "type": "phv", "name": "H3" },
               "src": [ { "type": "immediate", "name": "$data0" } ]
             }
           ]
@@ -26363,7 +26567,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "immediate", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             }
           ]
@@ -26391,7 +26595,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
@@ -29586,7 +29790,7 @@
               "dest": { "type": "phv", "name": "fabric_metadata.fwd_type" },
               "src": [
                 { "type": "immediate", "name": "fwd_type" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
@@ -29844,8 +30048,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": [
                 {
@@ -30000,12 +30204,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
+              { "memory_units": [ 6 ], "vpns": [ 0 ] },
+              { "memory_units": [ 7 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 55
+            "spare_bank_memory_unit": 7
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 0
         }
       ],
       "how_referenced": "direct",
@@ -30418,7 +30622,7 @@
                 "action_handle": 536870926,
                 "table_name": "tbl_act_9",
                 "next_table": 0,
-                "next_table_full": 66,
+                "next_table_full": 68,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -30428,7 +30632,7 @@
                 "action_handle": 536870925,
                 "table_name": "tbl_act_9",
                 "next_table": 0,
-                "next_table_full": 66,
+                "next_table_full": 68,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 66,
                 "immediate_fields": [
@@ -30442,7 +30646,7 @@
                 ]
               }
             ],
-            "result_physical_buses": [ 12, 14 ],
+            "result_physical_buses": [ 14 ],
             "pack_format": [
               {
                 "memory_word_width": 128,
@@ -30813,7 +31017,7 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
                 }
               }
             ]
@@ -30934,7 +31138,7 @@
             "stage_number": 4,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 2,
+            "logical_table_id": 4,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -31023,7 +31227,7 @@
             "stage_number": 4,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
+            "logical_table_id": 2,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -31087,11 +31291,11 @@
             ],
             "memory_resource_allocation": {
               "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 2
+              "memory_units_and_vpns": [ { "memory_units": [ 5 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 5
             },
             "default_next_table": 0,
-            "result_physical_buses": [ 4 ],
+            "result_physical_buses": [ 10 ],
             "ternary_indirection_stage_table": {
               "stage_number": 4,
               "stage_table_type": "ternary_indirection",
@@ -31178,8 +31382,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": [
                 {
@@ -31311,7 +31515,7 @@
           "stage_number": 4,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 3,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -31341,6 +31545,407 @@
     {
       "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,
@@ -31835,7 +32440,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870933,
+                  "action_handle": 536870935,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -31845,7 +32450,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870930,
+                  "action_handle": 536870932,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -31863,7 +32468,7 @@
                 },
                 {
                   "action_name": "forwarding.duplicate_to_controller",
-                  "action_handle": 536870931,
+                  "action_handle": 536870933,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -31882,7 +32487,7 @@
                 },
                 {
                   "action_name": "forwarding.drop",
-                  "action_handle": 536870932,
+                  "action_handle": 536870934,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -31902,7 +32507,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108871,
+          "handle": 67108872,
           "name": "forwarding.acl_counter"
         }
       ],
@@ -31910,7 +32515,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870933,
+          "handle": 536870935,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -31929,7 +32534,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870930,
+          "handle": 536870932,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -31961,7 +32566,7 @@
         },
         {
           "name": "forwarding.duplicate_to_controller",
-          "handle": 536870931,
+          "handle": 536870933,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -31982,14 +32587,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "forwarding.drop",
-          "handle": 536870932,
+          "handle": 536870934,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32010,13 +32615,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870933,
+      "default_action_handle": 536870935,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -32159,7 +32764,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108871,
+      "handle": 67108872,
       "name": "forwarding.acl_counter",
       "table_type": "statistics",
       "size": 0,
@@ -32197,7 +32802,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777228,
+      "handle": 16777229,
       "name": "next.simple",
       "table_type": "match",
       "size": 3072,
@@ -32213,12 +32818,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108872,
+          "handle": 67108873,
           "name": "next.simple_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870938,
+      "default_action_handle": 536870940,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -33730,7 +34335,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870938,
+                "action_handle": 536870940,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 114,
@@ -33740,7 +34345,7 @@
               },
               {
                 "action_name": "next.output",
-                "action_handle": 536870934,
+                "action_handle": 536870936,
                 "table_name": "next_hashed",
                 "next_table": 1,
                 "next_table_full": 114,
@@ -33750,7 +34355,7 @@
               },
               {
                 "action_name": "next.set_vlan_output",
-                "action_handle": 536870935,
+                "action_handle": 536870937,
                 "table_name": "next_hashed",
                 "next_table": 2,
                 "next_table_full": 114,
@@ -33760,7 +34365,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870936,
+                "action_handle": 536870938,
                 "table_name": "next_hashed",
                 "next_table": 3,
                 "next_table_full": 114,
@@ -33770,7 +34375,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870937,
+                "action_handle": 536870939,
                 "table_name": "next_hashed",
                 "next_table": 4,
                 "next_table_full": 114,
@@ -34222,7 +34827,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870938,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34240,7 +34845,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870934,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34267,14 +34872,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870935,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34307,7 +34912,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             },
             {
@@ -34323,14 +34928,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870936,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34359,7 +34964,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -34386,7 +34991,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870937,
+          "handle": 536870939,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34421,7 +35026,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -34478,7 +35083,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108872,
+      "handle": 67108873,
       "name": "next.simple_counter",
       "table_type": "statistics",
       "size": 0,
@@ -34549,7 +35154,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870938
+              "action_handle": 536870940
             },
             {
               "memory_word_width": 128,
@@ -34590,7 +35195,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870934
+              "action_handle": 536870936
             },
             {
               "memory_word_width": 128,
@@ -34649,7 +35254,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870935
+              "action_handle": 536870937
             },
             {
               "memory_word_width": 128,
@@ -34726,7 +35331,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870936
+              "action_handle": 536870938
             },
             {
               "memory_word_width": 128,
@@ -34803,7 +35408,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870937
+              "action_handle": 536870939
             }
           ],
           "memory_resource_allocation": {
@@ -34820,7 +35425,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870938,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34838,7 +35443,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870934,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34865,14 +35470,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870935,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34905,7 +35510,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             },
             {
@@ -34921,14 +35526,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870936,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34957,7 +35562,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -34984,7 +35589,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870937,
+          "handle": 536870939,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35019,7 +35624,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -35077,7 +35682,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777229,
+      "handle": 16777230,
       "name": "tbl_act_2",
       "table_type": "match",
       "size": 1,
@@ -35104,7 +35709,7 @@
             "action_format": [
               {
                 "action_name": "act_2",
-                "action_handle": 536870939,
+                "action_handle": 536870941,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 114,
@@ -35122,7 +35727,7 @@
       "actions": [
         {
           "name": "act_2",
-          "handle": 536870939,
+          "handle": 536870941,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35150,7 +35755,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870939,
+      "default_action_handle": 536870941,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -35166,7 +35771,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777230,
+      "handle": 16777231,
       "name": "next.hashed",
       "table_type": "match",
       "size": 3072,
@@ -35188,14 +35793,14 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108873,
+          "handle": 67108874,
           "name": "next.hashed_counter"
         }
       ],
       "stateful_table_refs": [],
       "default_selector_mask": 0,
       "default_selector_value": 0,
-      "default_action_handle": 536870943,
+      "default_action_handle": 536870945,
       "action_profile": "next.ecmp_selector",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -36847,7 +37452,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870943,
+                "action_handle": 536870945,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -36857,7 +37462,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870940,
+                "action_handle": 536870942,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -36867,7 +37472,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870941,
+                "action_handle": 536870943,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -36877,7 +37482,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v6",
-                "action_handle": 536870942,
+                "action_handle": 536870944,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37338,7 +37943,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870943,
+          "handle": 536870945,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37356,7 +37961,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870940,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37385,7 +37990,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -37412,7 +38017,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870941,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37447,7 +38052,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -37502,7 +38107,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870942,
+          "handle": 536870944,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37537,7 +38142,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -37659,7 +38264,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870943
+              "action_handle": 536870945
             },
             {
               "memory_word_width": 128,
@@ -37745,255 +38350,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": {
@@ -38006,7 +38611,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870943,
+          "handle": 536870945,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38024,7 +38629,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870940,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38053,7 +38658,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -38080,7 +38685,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870941,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38115,7 +38720,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -38170,7 +38775,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870942,
+          "handle": 536870944,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38205,7 +38810,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -38263,7 +38868,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108873,
+      "handle": 67108874,
       "name": "next.hashed_counter",
       "table_type": "statistics",
       "size": 0,
@@ -38302,7 +38907,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777231,
+      "handle": 16777232,
       "name": "tbl_act_5",
       "table_type": "match",
       "size": 1,
@@ -38325,11 +38930,11 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
                 "action_name": "act_5",
-                "action_handle": 536870944,
+                "action_handle": 536870946,
                 "table_name": "tbl_act_11",
                 "next_table": 0,
                 "next_table_full": 129,
@@ -38347,7 +38952,7 @@
       "actions": [
         {
           "name": "act_5",
-          "handle": 536870944,
+          "handle": 536870946,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38366,7 +38971,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ethernet.ether_type" },
-              "src": [ { "type": "phv", "name": "H7" } ]
+              "src": [ { "type": "phv", "name": "H8" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -38379,7 +38984,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870944,
+      "default_action_handle": 536870946,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -38395,7 +39000,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777232,
+      "handle": 16777233,
       "name": "tbl_act_3",
       "table_type": "match",
       "size": 512,
@@ -38418,14 +39023,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "act_3",
-                "action_handle": 536870945,
-                "table_name": "--END_OF_PIPELINE--",
+                "action_handle": 536870947,
+                "table_name": "next_broadcast",
                 "next_table": 0,
-                "next_table_full": 255,
+                "next_table_full": 130,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -38440,7 +39045,7 @@
       "actions": [
         {
           "name": "act_3",
-          "handle": 536870945,
+          "handle": 536870947,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38458,7 +39063,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870945,
+      "default_action_handle": 536870947,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -38472,7 +39077,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 67108874,
+          "handle": 67108875,
           "name": "port_counters_control.egress_port_counter"
         }
       ],
@@ -38480,7 +39085,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108874,
+      "handle": 67108875,
       "name": "port_counters_control.egress_port_counter",
       "table_type": "statistics",
       "size": 511,
@@ -38501,12 +39106,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 78 ], "vpns": [ 0 ] },
-              { "memory_units": [ 79 ], "vpns": [ 1 ] }
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 79
+            "spare_bank_memory_unit": 55
           },
-          "stats_alu_index": 3
+          "stats_alu_index": 2
         }
       ],
       "how_referenced": "indirect",
@@ -38515,6 +39120,2482 @@
       "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": [
@@ -38556,7 +41637,7 @@
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000080000000010000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000080000000010000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
@@ -38566,7 +41647,7 @@
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
       "name": "stage_3_match_input_xbar_din_power_ctl",
-      "value": "0000000100000000000000000000000000000000000000000000000000000000000000100000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000100000000000000000000000000000000000000000000000000000000000000200000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
@@ -38576,7 +41657,7 @@
     {
       "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
       "name": "stage_4_match_input_xbar_din_power_ctl",
-      "value": "00000009000000000000000000000000000000040000000000000000000000000000000e0000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000009000000000000000000000000000000040000000000000000000000000000001c0000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[4].dp.xbar_hash.hash.parity_group_mask",
@@ -38586,7 +41667,7 @@
     {
       "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
       "name": "stage_5_match_input_xbar_din_power_ctl",
-      "value": "0000000f00000000000000000000000000000043000000000000000000000000000000340000000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000f00000000000000000000000000000043000000000000000000000000000000680000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
@@ -38601,7 +41682,7 @@
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000200000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000400000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -38611,7 +41692,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001000000000000000000000000000000000000000010000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "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 bc87bd3..28fc18c 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,6 +143,34 @@
 }
 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"
@@ -295,6 +323,28 @@
   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
@@ -443,6 +493,23 @@
 }
 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"
@@ -584,6 +651,17 @@
 }
 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"
@@ -615,6 +693,17 @@
   }
   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 4097cdd..61eaab9 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/montara/context.json b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montara/context.json
index adabcaa..fbdd004 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montara/context.json
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montara/context.json
@@ -1,5 +1,5 @@
 {
-  "build_date": "02/11/18 20:58:47",
+  "build_date": "02/14/18 22:06:44",
   "compiler_version": "6.0.0-alpha.4",
   "program_name": "main",
   "learn_quanta": [],
@@ -46,7 +46,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -63,7 +63,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -131,7 +131,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -142,7 +142,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -153,7 +153,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -187,7 +187,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -204,7 +204,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -329,7 +329,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -348,7 +348,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -367,7 +367,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -403,7 +403,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -422,7 +422,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -441,7 +441,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -455,6 +455,23 @@
           "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,
@@ -468,10 +485,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -507,10 +524,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -521,7 +538,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -532,7 +549,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -546,10 +563,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -563,7 +580,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -580,7 +597,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -597,7 +614,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -614,10 +631,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -631,7 +648,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -648,7 +665,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -665,7 +682,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -682,7 +699,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -702,7 +719,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -730,7 +747,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -769,7 +786,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -780,7 +797,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -808,7 +825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -825,7 +842,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -853,7 +870,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -864,7 +881,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -875,7 +892,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -886,7 +903,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -897,7 +914,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -936,7 +953,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -947,7 +964,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -986,7 +1003,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -997,7 +1014,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1014,7 +1031,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1031,7 +1048,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1048,7 +1065,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1059,7 +1076,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1087,7 +1104,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1098,7 +1115,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1115,7 +1132,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1132,7 +1149,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2181,7 +2198,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2198,7 +2215,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2266,7 +2283,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -2277,7 +2294,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2288,7 +2305,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2322,7 +2339,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2339,7 +2356,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2464,7 +2481,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -2483,7 +2500,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -2502,7 +2519,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -2538,7 +2555,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -2557,7 +2574,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -2576,7 +2593,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -2590,6 +2607,23 @@
           "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,
@@ -2603,10 +2637,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2642,10 +2676,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2656,7 +2690,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2667,7 +2701,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2681,10 +2715,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -2698,7 +2732,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -2715,7 +2749,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -2732,7 +2766,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -2749,10 +2783,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2766,7 +2800,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -2783,7 +2817,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -2800,7 +2834,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -2817,7 +2851,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -2837,7 +2871,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2865,7 +2899,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2904,7 +2938,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2915,7 +2949,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2943,7 +2977,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2960,7 +2994,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2988,7 +3022,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2999,7 +3033,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3010,7 +3044,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3021,7 +3055,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3032,7 +3066,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3071,7 +3105,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3082,7 +3116,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3121,7 +3155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3132,7 +3166,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3149,7 +3183,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3166,7 +3200,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3183,7 +3217,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3194,7 +3228,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3222,7 +3256,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3233,7 +3267,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3250,7 +3284,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3267,7 +3301,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4316,7 +4350,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4333,7 +4367,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4401,7 +4435,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -4412,7 +4446,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4423,7 +4457,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4457,7 +4491,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4474,7 +4508,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4599,7 +4633,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -4618,7 +4652,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -4637,7 +4671,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -4673,7 +4707,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -4692,7 +4726,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -4711,7 +4745,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -4725,6 +4759,23 @@
           "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,
@@ -4738,10 +4789,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4777,10 +4828,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4791,7 +4842,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4802,7 +4853,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4816,10 +4867,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -4833,7 +4884,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -4850,7 +4901,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -4867,7 +4918,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -4884,10 +4935,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4901,7 +4952,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -4918,7 +4969,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -4935,7 +4986,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -4952,7 +5003,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -4972,7 +5023,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5000,7 +5051,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5039,7 +5090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5050,7 +5101,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5078,7 +5129,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5095,7 +5146,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5123,7 +5174,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5134,7 +5185,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5145,7 +5196,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5156,7 +5207,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5167,7 +5218,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5206,7 +5257,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5217,7 +5268,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5256,7 +5307,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5267,7 +5318,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5284,7 +5335,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5301,7 +5352,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5318,7 +5369,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5329,7 +5380,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5357,7 +5408,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5368,7 +5419,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5385,7 +5436,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5402,7 +5453,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6451,7 +6502,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6468,7 +6519,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6536,7 +6587,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -6547,7 +6598,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6558,7 +6609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6592,7 +6643,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6609,7 +6660,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6734,7 +6785,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -6753,7 +6804,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -6772,7 +6823,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -6808,7 +6859,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -6827,7 +6878,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -6846,7 +6897,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -6860,6 +6911,23 @@
           "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,
@@ -6873,10 +6941,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6912,10 +6980,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6926,7 +6994,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6937,7 +7005,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6951,10 +7019,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -6968,7 +7036,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -6985,7 +7053,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -7002,7 +7070,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -7019,10 +7087,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7036,7 +7104,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -7053,7 +7121,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -7070,7 +7138,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -7087,7 +7155,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -7107,7 +7175,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7135,7 +7203,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7174,7 +7242,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7185,7 +7253,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7213,7 +7281,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7230,7 +7298,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7258,7 +7326,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7269,7 +7337,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7280,7 +7348,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7291,7 +7359,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7302,7 +7370,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7341,7 +7409,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7352,7 +7420,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7391,7 +7459,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7402,7 +7470,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7419,7 +7487,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7436,7 +7504,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7453,7 +7521,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7464,7 +7532,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7492,7 +7560,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7503,7 +7571,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7520,7 +7588,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7537,7 +7605,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8586,7 +8654,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8603,7 +8671,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8671,7 +8739,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -8682,7 +8750,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8693,7 +8761,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8727,7 +8795,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8744,7 +8812,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8869,7 +8937,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -8888,7 +8956,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -8907,7 +8975,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -8943,7 +9011,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -8962,7 +9030,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -8981,7 +9049,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -8995,6 +9063,23 @@
           "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,
@@ -9008,10 +9093,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9047,10 +9132,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9061,7 +9146,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9072,7 +9157,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9086,10 +9171,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -9103,7 +9188,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -9120,7 +9205,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -9137,7 +9222,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -9154,10 +9239,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9171,7 +9256,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -9188,7 +9273,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -9205,7 +9290,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -9222,7 +9307,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -9242,7 +9327,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9270,7 +9355,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9309,7 +9394,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9320,7 +9405,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9348,7 +9433,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9365,7 +9450,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9393,7 +9478,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9404,7 +9489,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9415,7 +9500,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9426,7 +9511,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9437,7 +9522,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9476,7 +9561,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9487,7 +9572,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9526,7 +9611,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9537,7 +9622,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9554,7 +9639,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9571,7 +9656,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9588,7 +9673,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9599,7 +9684,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9627,7 +9712,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9638,7 +9723,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9655,7 +9740,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9672,7 +9757,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10721,7 +10806,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10738,7 +10823,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10806,7 +10891,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -10817,7 +10902,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10828,7 +10913,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10862,7 +10947,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10879,7 +10964,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11004,7 +11089,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -11023,7 +11108,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -11042,7 +11127,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -11078,7 +11163,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -11097,7 +11182,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -11116,7 +11201,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -11130,6 +11215,23 @@
           "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,
@@ -11143,10 +11245,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11182,10 +11284,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11196,7 +11298,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11207,7 +11309,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11221,10 +11323,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -11238,7 +11340,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -11255,7 +11357,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -11272,7 +11374,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -11289,10 +11391,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11306,7 +11408,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -11323,7 +11425,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -11340,7 +11442,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -11357,7 +11459,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -11377,7 +11479,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11405,7 +11507,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11444,7 +11546,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11455,7 +11557,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11483,7 +11585,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11500,7 +11602,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11528,7 +11630,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11539,7 +11641,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11550,7 +11652,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11561,7 +11663,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11572,7 +11674,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11611,7 +11713,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11622,7 +11724,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11661,7 +11763,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11672,7 +11774,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11689,7 +11791,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11706,7 +11808,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11723,7 +11825,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11734,7 +11836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11762,7 +11864,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11773,7 +11875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11790,7 +11892,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11807,7 +11909,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12856,7 +12958,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12873,7 +12975,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12941,7 +13043,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -12952,7 +13054,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12963,7 +13065,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -12997,7 +13099,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13014,7 +13116,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13139,7 +13241,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -13158,7 +13260,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -13177,7 +13279,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -13213,7 +13315,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -13232,7 +13334,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -13251,7 +13353,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -13265,6 +13367,23 @@
           "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,
@@ -13278,10 +13397,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13317,10 +13436,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13331,7 +13450,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13342,7 +13461,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13356,10 +13475,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -13373,7 +13492,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -13390,7 +13509,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -13407,7 +13526,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -13424,10 +13543,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13441,7 +13560,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -13458,7 +13577,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -13475,7 +13594,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -13492,7 +13611,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -13512,7 +13631,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13540,7 +13659,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13579,7 +13698,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13590,7 +13709,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13618,7 +13737,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13635,7 +13754,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13663,7 +13782,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13674,7 +13793,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13685,7 +13804,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13696,7 +13815,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13707,7 +13826,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13746,7 +13865,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13757,7 +13876,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13796,7 +13915,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13807,7 +13926,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13824,7 +13943,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13841,7 +13960,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13858,7 +13977,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13869,7 +13988,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13897,7 +14016,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13908,7 +14027,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13925,7 +14044,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13942,7 +14061,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14991,7 +15110,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15008,7 +15127,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15076,7 +15195,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -15087,7 +15206,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15098,7 +15217,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15132,7 +15251,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15149,7 +15268,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15274,7 +15393,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -15293,7 +15412,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -15312,7 +15431,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -15348,7 +15467,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -15367,7 +15486,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -15386,7 +15505,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -15400,6 +15519,23 @@
           "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,
@@ -15413,10 +15549,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15452,10 +15588,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15466,7 +15602,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15477,7 +15613,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15491,10 +15627,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -15508,7 +15644,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -15525,7 +15661,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -15542,7 +15678,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -15559,10 +15695,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15576,7 +15712,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -15593,7 +15729,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -15610,7 +15746,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -15627,7 +15763,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -15647,7 +15783,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15675,7 +15811,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15714,7 +15850,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15725,7 +15861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15753,7 +15889,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15770,7 +15906,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15798,7 +15934,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15809,7 +15945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15820,7 +15956,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15831,7 +15967,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15842,7 +15978,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15881,7 +16017,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15892,7 +16028,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15931,7 +16067,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15942,7 +16078,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15959,7 +16095,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15976,7 +16112,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15993,7 +16129,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16004,7 +16140,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16032,7 +16168,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16043,7 +16179,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16060,7 +16196,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16077,7 +16213,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17126,7 +17262,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17143,7 +17279,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17211,7 +17347,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -17222,7 +17358,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17233,7 +17369,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17267,7 +17403,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17284,7 +17420,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17409,7 +17545,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -17428,7 +17564,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -17447,7 +17583,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -17483,7 +17619,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -17502,7 +17638,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -17521,7 +17657,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -17535,6 +17671,23 @@
           "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,
@@ -17548,10 +17701,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17587,10 +17740,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17601,7 +17754,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17612,7 +17765,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17626,10 +17779,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -17643,7 +17796,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -17660,7 +17813,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -17677,7 +17830,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -17694,10 +17847,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17711,7 +17864,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -17728,7 +17881,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -17745,7 +17898,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -17762,7 +17915,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -17782,7 +17935,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17810,7 +17963,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17849,7 +18002,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17860,7 +18013,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17888,7 +18041,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17905,7 +18058,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17933,7 +18086,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17944,7 +18097,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17955,7 +18108,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17966,7 +18119,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17977,7 +18130,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18016,7 +18169,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18027,7 +18180,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18066,7 +18219,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18077,7 +18230,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18094,7 +18247,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18111,7 +18264,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18128,7 +18281,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18139,7 +18292,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18167,7 +18320,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18178,7 +18331,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18195,7 +18348,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18212,7 +18365,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19261,7 +19414,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19278,7 +19431,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19346,7 +19499,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19357,7 +19510,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19368,7 +19521,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19402,7 +19555,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19419,7 +19572,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19544,7 +19697,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -19563,7 +19716,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -19582,7 +19735,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -19618,7 +19771,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -19637,7 +19790,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -19656,7 +19809,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -19670,6 +19823,23 @@
           "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,
@@ -19683,10 +19853,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19722,10 +19892,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19736,7 +19906,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19747,7 +19917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19761,10 +19931,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -19778,7 +19948,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -19795,7 +19965,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -19812,7 +19982,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -19829,10 +19999,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19846,7 +20016,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -19863,7 +20033,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -19880,7 +20050,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -19897,7 +20067,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -19917,7 +20087,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19945,7 +20115,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19984,7 +20154,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19995,7 +20165,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20023,7 +20193,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20040,7 +20210,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20068,7 +20238,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20079,7 +20249,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20090,7 +20260,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20101,7 +20271,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20112,7 +20282,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20151,7 +20321,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20162,7 +20332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20201,7 +20371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20212,7 +20382,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20229,7 +20399,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20246,7 +20416,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20263,7 +20433,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20274,7 +20444,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20302,7 +20472,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20313,7 +20483,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20330,7 +20500,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20347,7 +20517,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21396,7 +21566,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21413,7 +21583,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21481,7 +21651,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -21492,7 +21662,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21503,7 +21673,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21537,7 +21707,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21554,7 +21724,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21679,7 +21849,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -21698,7 +21868,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -21717,7 +21887,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -21753,7 +21923,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -21772,7 +21942,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -21791,7 +21961,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -21805,6 +21975,23 @@
           "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,
@@ -21818,10 +22005,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21857,10 +22044,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21871,7 +22058,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21882,7 +22069,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21896,10 +22083,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -21913,7 +22100,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -21930,7 +22117,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -21947,7 +22134,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -21964,10 +22151,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21981,7 +22168,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -21998,7 +22185,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -22015,7 +22202,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -22032,7 +22219,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -22052,7 +22239,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22080,7 +22267,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22119,7 +22306,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22130,7 +22317,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22158,7 +22345,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22175,7 +22362,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22203,7 +22390,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22214,7 +22401,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22225,7 +22412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22236,7 +22423,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22247,7 +22434,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22286,7 +22473,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22297,7 +22484,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22336,7 +22523,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22347,7 +22534,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22364,7 +22551,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22381,7 +22568,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22398,7 +22585,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22409,7 +22596,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22437,7 +22624,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22448,7 +22635,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22465,7 +22652,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22482,7 +22669,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23531,7 +23718,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 80,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23548,7 +23735,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 66,
+              "position_offset": 68,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23616,7 +23803,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -23627,7 +23814,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 90,
+              "position_offset": 92,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23638,7 +23825,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 89,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23672,7 +23859,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 86,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23689,7 +23876,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 91,
+              "position_offset": 93,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23814,7 +24001,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 64,
+                  "position_offset": 66,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -23833,7 +24020,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 86,
+                  "position_offset": 88,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -23852,7 +24039,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 92,
+                  "position_offset": 94,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -23888,7 +24075,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 95,
+                  "position_offset": 97,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -23907,7 +24094,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 122,
+                  "position_offset": 124,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -23926,7 +24113,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 131,
+                  "position_offset": 133,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -23940,6 +24127,23 @@
           "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,
@@ -23953,10 +24157,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 129,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 95,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23992,10 +24196,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 138,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24006,7 +24210,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 132,
+              "position_offset": 134,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24017,7 +24221,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 138,
+              "position_offset": 140,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24031,10 +24235,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
+              "position_offset": 90,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -24048,7 +24252,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 58,
@@ -24065,7 +24269,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 31,
@@ -24082,7 +24286,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 135,
           "records": [
             {
               "position_offset": 18,
@@ -24099,10 +24303,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 134,
+              "position_offset": 136,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24116,7 +24320,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 12,
@@ -24133,7 +24337,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 20,
@@ -24150,7 +24354,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 29,
@@ -24167,7 +24371,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 140,
           "records": [
             {
               "position_offset": 37,
@@ -24187,7 +24391,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 112,
+              "position_offset": 114,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24215,7 +24419,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 98,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24254,7 +24458,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 85,
+              "position_offset": 87,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24265,7 +24469,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 76,
+              "position_offset": 78,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24293,7 +24497,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 65,
+              "position_offset": 67,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24310,7 +24514,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 77,
+              "position_offset": 79,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24338,7 +24542,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 106,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24349,7 +24553,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 112,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24360,7 +24564,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 108,
+              "position_offset": 110,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24371,7 +24575,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 102,
+              "position_offset": 104,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24382,7 +24586,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 131,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24421,7 +24625,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 116,
+              "position_offset": 118,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24432,7 +24636,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 127,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24471,7 +24675,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 72,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24482,7 +24686,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 74,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24499,7 +24703,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 82,
+              "position_offset": 84,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24516,7 +24720,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 74,
+              "position_offset": 76,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24533,7 +24737,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 106,
+              "position_offset": 108,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24544,7 +24748,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 129,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24572,7 +24776,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 122,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24583,7 +24787,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 123,
+              "position_offset": 125,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24600,7 +24804,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 100,
+              "position_offset": 102,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24617,7 +24821,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 118,
+              "position_offset": 120,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25879,8 +26083,8 @@
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
-                { "type": "phv", "name": "H1" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H2" },
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -26311,7 +26515,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
-              "src": [ { "type": "phv", "name": "H6" } ]
+              "src": [ { "type": "phv", "name": "H7" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -26328,7 +26532,7 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H2" },
+              "dest": { "type": "phv", "name": "H3" },
               "src": [ { "type": "immediate", "name": "$data0" } ]
             }
           ]
@@ -26363,7 +26567,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "immediate", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             }
           ]
@@ -26391,7 +26595,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
@@ -29586,7 +29790,7 @@
               "dest": { "type": "phv", "name": "fabric_metadata.fwd_type" },
               "src": [
                 { "type": "immediate", "name": "fwd_type" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
@@ -29844,8 +30048,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": [
                 {
@@ -30000,12 +30204,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
+              { "memory_units": [ 6 ], "vpns": [ 0 ] },
+              { "memory_units": [ 7 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 55
+            "spare_bank_memory_unit": 7
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 0
         }
       ],
       "how_referenced": "direct",
@@ -30418,7 +30622,7 @@
                 "action_handle": 536870926,
                 "table_name": "tbl_act_9",
                 "next_table": 0,
-                "next_table_full": 66,
+                "next_table_full": 68,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -30428,7 +30632,7 @@
                 "action_handle": 536870925,
                 "table_name": "tbl_act_9",
                 "next_table": 0,
-                "next_table_full": 66,
+                "next_table_full": 68,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 66,
                 "immediate_fields": [
@@ -30442,7 +30646,7 @@
                 ]
               }
             ],
-            "result_physical_buses": [ 12, 14 ],
+            "result_physical_buses": [ 14 ],
             "pack_format": [
               {
                 "memory_word_width": 128,
@@ -30813,7 +31017,7 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
                 }
               }
             ]
@@ -30934,7 +31138,7 @@
             "stage_number": 4,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 2,
+            "logical_table_id": 4,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -31023,7 +31227,7 @@
             "stage_number": 4,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
+            "logical_table_id": 2,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -31087,11 +31291,11 @@
             ],
             "memory_resource_allocation": {
               "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 2
+              "memory_units_and_vpns": [ { "memory_units": [ 5 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 5
             },
             "default_next_table": 0,
-            "result_physical_buses": [ 4 ],
+            "result_physical_buses": [ 10 ],
             "ternary_indirection_stage_table": {
               "stage_number": 4,
               "stage_table_type": "ternary_indirection",
@@ -31178,8 +31382,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": [
                 {
@@ -31311,7 +31515,7 @@
           "stage_number": 4,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 3,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -31341,6 +31545,407 @@
     {
       "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,
@@ -31835,7 +32440,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870933,
+                  "action_handle": 536870935,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -31845,7 +32450,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870930,
+                  "action_handle": 536870932,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -31863,7 +32468,7 @@
                 },
                 {
                   "action_name": "forwarding.duplicate_to_controller",
-                  "action_handle": 536870931,
+                  "action_handle": 536870933,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -31882,7 +32487,7 @@
                 },
                 {
                   "action_name": "forwarding.drop",
-                  "action_handle": 536870932,
+                  "action_handle": 536870934,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -31902,7 +32507,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108871,
+          "handle": 67108872,
           "name": "forwarding.acl_counter"
         }
       ],
@@ -31910,7 +32515,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870933,
+          "handle": 536870935,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -31929,7 +32534,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870930,
+          "handle": 536870932,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -31961,7 +32566,7 @@
         },
         {
           "name": "forwarding.duplicate_to_controller",
-          "handle": 536870931,
+          "handle": 536870933,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -31982,14 +32587,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "forwarding.drop",
-          "handle": 536870932,
+          "handle": 536870934,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32010,13 +32615,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870933,
+      "default_action_handle": 536870935,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -32159,7 +32764,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108871,
+      "handle": 67108872,
       "name": "forwarding.acl_counter",
       "table_type": "statistics",
       "size": 0,
@@ -32197,7 +32802,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777228,
+      "handle": 16777229,
       "name": "next.simple",
       "table_type": "match",
       "size": 3072,
@@ -32213,12 +32818,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108872,
+          "handle": 67108873,
           "name": "next.simple_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870938,
+      "default_action_handle": 536870940,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -33730,7 +34335,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870938,
+                "action_handle": 536870940,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 114,
@@ -33740,7 +34345,7 @@
               },
               {
                 "action_name": "next.output",
-                "action_handle": 536870934,
+                "action_handle": 536870936,
                 "table_name": "next_hashed",
                 "next_table": 1,
                 "next_table_full": 114,
@@ -33750,7 +34355,7 @@
               },
               {
                 "action_name": "next.set_vlan_output",
-                "action_handle": 536870935,
+                "action_handle": 536870937,
                 "table_name": "next_hashed",
                 "next_table": 2,
                 "next_table_full": 114,
@@ -33760,7 +34365,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870936,
+                "action_handle": 536870938,
                 "table_name": "next_hashed",
                 "next_table": 3,
                 "next_table_full": 114,
@@ -33770,7 +34375,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870937,
+                "action_handle": 536870939,
                 "table_name": "next_hashed",
                 "next_table": 4,
                 "next_table_full": 114,
@@ -34222,7 +34827,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870938,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34240,7 +34845,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870934,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34267,14 +34872,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870935,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34307,7 +34912,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             },
             {
@@ -34323,14 +34928,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870936,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34359,7 +34964,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -34386,7 +34991,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870937,
+          "handle": 536870939,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34421,7 +35026,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -34478,7 +35083,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108872,
+      "handle": 67108873,
       "name": "next.simple_counter",
       "table_type": "statistics",
       "size": 0,
@@ -34549,7 +35154,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870938
+              "action_handle": 536870940
             },
             {
               "memory_word_width": 128,
@@ -34590,7 +35195,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870934
+              "action_handle": 536870936
             },
             {
               "memory_word_width": 128,
@@ -34649,7 +35254,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870935
+              "action_handle": 536870937
             },
             {
               "memory_word_width": 128,
@@ -34726,7 +35331,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870936
+              "action_handle": 536870938
             },
             {
               "memory_word_width": 128,
@@ -34803,7 +35408,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870937
+              "action_handle": 536870939
             }
           ],
           "memory_resource_allocation": {
@@ -34820,7 +35425,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870938,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34838,7 +35443,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870934,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34865,14 +35470,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870935,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34905,7 +35510,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H3" }
               ]
             },
             {
@@ -34921,14 +35526,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870936,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34957,7 +35562,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -34984,7 +35589,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870937,
+          "handle": 536870939,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35019,7 +35624,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -35077,7 +35682,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777229,
+      "handle": 16777230,
       "name": "tbl_act_2",
       "table_type": "match",
       "size": 1,
@@ -35104,7 +35709,7 @@
             "action_format": [
               {
                 "action_name": "act_2",
-                "action_handle": 536870939,
+                "action_handle": 536870941,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 114,
@@ -35122,7 +35727,7 @@
       "actions": [
         {
           "name": "act_2",
-          "handle": 536870939,
+          "handle": 536870941,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35150,7 +35755,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870939,
+      "default_action_handle": 536870941,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -35166,7 +35771,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777230,
+      "handle": 16777231,
       "name": "next.hashed",
       "table_type": "match",
       "size": 3072,
@@ -35188,14 +35793,14 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108873,
+          "handle": 67108874,
           "name": "next.hashed_counter"
         }
       ],
       "stateful_table_refs": [],
       "default_selector_mask": 0,
       "default_selector_value": 0,
-      "default_action_handle": 536870943,
+      "default_action_handle": 536870945,
       "action_profile": "next.ecmp_selector",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -36847,7 +37452,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870943,
+                "action_handle": 536870945,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -36857,7 +37462,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870940,
+                "action_handle": 536870942,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -36867,7 +37472,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870941,
+                "action_handle": 536870943,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -36877,7 +37482,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v6",
-                "action_handle": 536870942,
+                "action_handle": 536870944,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37338,7 +37943,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870943,
+          "handle": 536870945,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37356,7 +37961,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870940,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37385,7 +37990,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -37412,7 +38017,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870941,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37447,7 +38052,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -37502,7 +38107,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870942,
+          "handle": 536870944,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37537,7 +38142,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -37659,7 +38264,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870943
+              "action_handle": 536870945
             },
             {
               "memory_word_width": 128,
@@ -37745,255 +38350,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": {
@@ -38006,7 +38611,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870943,
+          "handle": 536870945,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38024,7 +38629,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870940,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38053,7 +38658,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -38080,7 +38685,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870941,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38115,7 +38720,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -38170,7 +38775,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870942,
+          "handle": 536870944,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38205,7 +38810,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H0" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -38263,7 +38868,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108873,
+      "handle": 67108874,
       "name": "next.hashed_counter",
       "table_type": "statistics",
       "size": 0,
@@ -38302,7 +38907,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777231,
+      "handle": 16777232,
       "name": "tbl_act_5",
       "table_type": "match",
       "size": 1,
@@ -38325,11 +38930,11 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
                 "action_name": "act_5",
-                "action_handle": 536870944,
+                "action_handle": 536870946,
                 "table_name": "tbl_act_11",
                 "next_table": 0,
                 "next_table_full": 129,
@@ -38347,7 +38952,7 @@
       "actions": [
         {
           "name": "act_5",
-          "handle": 536870944,
+          "handle": 536870946,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38366,7 +38971,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ethernet.ether_type" },
-              "src": [ { "type": "phv", "name": "H7" } ]
+              "src": [ { "type": "phv", "name": "H8" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -38379,7 +38984,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870944,
+      "default_action_handle": 536870946,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -38395,7 +39000,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777232,
+      "handle": 16777233,
       "name": "tbl_act_3",
       "table_type": "match",
       "size": 512,
@@ -38418,14 +39023,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "act_3",
-                "action_handle": 536870945,
-                "table_name": "--END_OF_PIPELINE--",
+                "action_handle": 536870947,
+                "table_name": "next_broadcast",
                 "next_table": 0,
-                "next_table_full": 255,
+                "next_table_full": 130,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -38440,7 +39045,7 @@
       "actions": [
         {
           "name": "act_3",
-          "handle": 536870945,
+          "handle": 536870947,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38458,7 +39063,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870945,
+      "default_action_handle": 536870947,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -38472,7 +39077,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 67108874,
+          "handle": 67108875,
           "name": "port_counters_control.egress_port_counter"
         }
       ],
@@ -38480,7 +39085,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108874,
+      "handle": 67108875,
       "name": "port_counters_control.egress_port_counter",
       "table_type": "statistics",
       "size": 511,
@@ -38501,12 +39106,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 78 ], "vpns": [ 0 ] },
-              { "memory_units": [ 79 ], "vpns": [ 1 ] }
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 79
+            "spare_bank_memory_unit": 55
           },
-          "stats_alu_index": 3
+          "stats_alu_index": 2
         }
       ],
       "how_referenced": "indirect",
@@ -38515,6 +39120,2482 @@
       "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": [
@@ -38556,7 +41637,7 @@
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000080000000010000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000080000000010000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
@@ -38566,7 +41647,7 @@
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
       "name": "stage_3_match_input_xbar_din_power_ctl",
-      "value": "0000000100000000000000000000000000000000000000000000000000000000000000100000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000100000000000000000000000000000000000000000000000000000000000000200000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
@@ -38576,7 +41657,7 @@
     {
       "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
       "name": "stage_4_match_input_xbar_din_power_ctl",
-      "value": "00000009000000000000000000000000000000040000000000000000000000000000000e0000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000009000000000000000000000000000000040000000000000000000000000000001c0000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[4].dp.xbar_hash.hash.parity_group_mask",
@@ -38586,7 +41667,7 @@
     {
       "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
       "name": "stage_5_match_input_xbar_din_power_ctl",
-      "value": "0000000f00000000000000000000000000000043000000000000000000000000000000340000000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000f00000000000000000000000000000043000000000000000000000000000000680000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
@@ -38601,7 +41682,7 @@
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000200000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000400000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -38611,7 +41692,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001000000000000000000000000000000000000000010000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "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/montara/fabric.p4info b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montara/fabric.p4info
index bc87bd3..28fc18c 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montara/fabric.p4info
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montara/fabric.p4info
@@ -143,6 +143,34 @@
 }
 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"
@@ -295,6 +323,28 @@
   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
@@ -443,6 +493,23 @@
 }
 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"
@@ -584,6 +651,17 @@
 }
 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"
@@ -615,6 +693,17 @@
   }
   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/montara/tofino.bin b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montara/tofino.bin
index 847f5f1..c0d72a5 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montara/tofino.bin
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montara/tofino.bin
Binary files differ