Updated p4c output for fabric

Change-Id: I73858f2b4e9b151c9fae3063f5514c689e16b51e
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